首页 > 其他分享 >Atcoder Beginner Contest 327 解题报告

Atcoder Beginner Contest 327 解题报告

时间:2023-11-04 22:24:37浏览次数:32  
标签:CASE Atcoder return Beginner 10 int void Contest col

Atcoder Beginner Contest 327

Hints

D $\quad$这个定义……看起来这么熟悉?
E $\quad$固定 $k$ 试试?
F_1 $\quad$扫描线?
F_2 $\quad$区间加,区间 $\max$,咋维护?

A

直接查找 \(\texttt{ab}\) 和 \(\texttt{ba}\) 即可。

int n;
string s;
void Solve(int CASE)
{
	cin>>n>>s;
	puts((~s.find("ab"))||(~s.find("ba"))?"Yes":"No");
}

B

\(16^{16}>10^{18}\implies a\le15\)。

ll n;
void Solve(int CASE)
{
	cin>>n;
	for(int i=1;i<=15;i++)
	{
		ll pw=1;
		for(int j=1;j<=i;j++)pw*=i;
		if(pw==n)put_ret(i);//put_ret 就是直接输出然后返回
	}
	cout<<-1;
}

C

玩过数独吗?

判一下每行每列每宫 \(1\sim9\) 是否都出现一次即可。

int c[10][10],r[10][10],g[10][10];
int G(int x,int y){return (x-1)/3*3+(y-1)/3+1;}
void Solve(int CASE)
{
	for(int i=1;i<=9;i++)
		for(int j=1;j<=9;j++)
		{
			int x;cin>>x;
			r[i][x]++,c[j][x]++,g[G(i,j)][x]++;
		}
	for(int i=1;i<=9;i++)
		for(int j=1;j<=9;j++)
			if(c[i][j]!=1||r[i][j]!=1||g[i][j]!=1)put_ret("No");
	cout<<"Yes";
}

D

观察这个 good 的定义,发现其实就是一个 \(n\) 个点的无向图,其中 \(s_i\) 和 \(t_i\) 连边,然后让你判断是否是个二分图。

const int N=200005;
int n,m;
VI g[N];
int col[N],X[N];
bool dfs(int x)
{
	for(int y:g[x])
	{
		if(!~col[y])
		{
			col[y]=!col[x];
			if(!dfs(y))return 0;
		}
		else if(col[y]==col[x])return 0;
	}
	return 1;
}
void Solve(int CASE)
{
	cin>>n>>m;
	for(int i=1;i<=m;i++)cin>>X[i];
	for(int i=1;i<=m;i++)
	{
		int y;cin>>y;
		g[X[i]].PB(y),g[y].PB(X[i]);
	}
	memset(col,-1,sizeof(col));
	for(int i=1;i<=n;i++)
		if(!~col[i])
		{
			if(!dfs(i))put_ret("No");
		}
	cout<<"Yes";
}

E

咕咕咕。

标签:CASE,Atcoder,return,Beginner,10,int,void,Contest,col
From: https://www.cnblogs.com/No-play-Yes-splay/p/abc327-solution.html

相关文章

  • HHKB Programming Contest 2023(AtCoder Beginner Contest 327)
    HHKBProgrammingContest2023(AtCoderBeginnerContest327)A.ab解题思路:模拟即可。代码:#include<bits/stdc++.h>usingnamespacestd;usingll=longlong;voidsolve(){intn;cin>>n;strings;cin>>s;for(inti=0......
  • AtCoder Beginner Contest 327
    A-ab(abc327A)题目大意给定一个字符串\(s\),问是否包含ab或ba。解题思路遍历判断即可。神奇的代码#include<bits/stdc++.h>usingnamespacestd;usingLL=longlong;intmain(void){ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);i......
  • Atcoder Grand Contest 016
    给我贺完了?A-Shrinking给定一个串\(s\),每次可以进行如下操作:记串长为\(n\).构造长为\(n-1\)的串\(s'\),满足\(s'_i\)为\(s_i\)或\(s_{i+1}\),令\(s\leftarrows'\).问使\(s\)中所有字符相同的最小操作次数。\(|s|\le100\).按照题意模拟即可,时间复杂度......
  • AtCoder Beginner Contest 326 (ABC326)
    A.2UP3DOWN直接模拟即可。CodeB.326-likeNumbers枚举,每次拆除百、十、个位,再判断。CodeC.PeakDescription数字线上放置了\(N\)个礼物。第\(i\)个礼物放置在坐标\(A_i\)处。可以在数轴上选择长度为\(M\)的半开区间\([x,x+M)\),并获得其中包含的所有礼物。求:......
  • AtCoder Beginner Contest 224 H Security Camera 2
    洛谷传送门AtCoder传送门直接糊一手线性规划对偶板板。要求:\[\min\sumA_il_i+\sumB_ir_i\]\[\foralli,j,l_i+r_j\geC_{i,j}\]\[l_i,r_i\ge0\]\[l_i,r_i\in\mathbb{Z}\]可以证明\(l_i,r_i\)为整数的限制可以去掉,因为取到最优解时\(l_i,r_i\)一......
  • AtCoder Beginner Contest(abc) 314
    B-Roulette难度:⭐题目大意有一个猜数字的游戏,有n个人参加,每人都猜了若干个数;最后给出答案数字;在所有猜中数字的人中输出猜数数量最少的人的编号;(可能不止一个);解题思路数据不大,暴力即可;神秘代码#include<bits/stdc++.h>#defineintlonglong#def......
  • AtCoder Beginner Contest 326 F
    F-RobotRotation一句话不开LL,见祖宗感谢大佬,和洛谷上的题解上面已经将的很清楚了,但是如果你跟我一样一开始看不懂他们的代码,那么这篇可能为你解惑点击查看代码#include<bits/stdc++.h>usingnamespacestd;#defineLLlonglong#defineintLL//LL!map<LL,LL>ma;......
  • AtCoder Beginner Contest(abc) 312
    B-TaKCode难度:⭐题目大意题目定义一种矩阵X:该矩阵的是一个长度为9的由黑白色块组成正方形矩阵;该矩阵的左上角和右下角都是一个3*3的黑色矩阵(总共18个),这两个黑色矩阵外面(边缘不算)包围一圈白色色块(总共14个);现在一个n*m的黑白矩阵,问这个大矩阵中有多少......
  • AT_abc326_e Revenge of "The Salary of AtCoder Inc." 题解
    AT_abc326_eRevengeof"TheSalaryofAtCoderInc."题解一道简单的概率论+动态规划题目(然而我赛时没看这道题题意有一个长度为\(n\)的序列\(A\)、一个\(n\)面骰子,掷若干次骰子,如果这一次掷骰子的点数小于等于上一次的点数,则结束。定义这若干次掷骰子的总的结果为,每次......
  • AtCoder Beginner Contest(abc) 311
    B-VacationTogether难度:⭐题目大意给定n个人的工作计划,'o'表示这天休息,'x'表示工作;请找出一段最长的所有人都休息的连续休息的天数;解题思路数据不大,暴力即可;神秘代码#include<bits/stdc++.h>#defineintlonglong#defineIOSios::sync_with_stdio......