分析:首先了解mex,mex是一个区间的最小未出现的自然数(包括0),如果一个数组的长度为n,那么mex最多为n。对于本题,我们要求mex的最大值,当我们选取的数是x的时候,我们为了使mex大于或等于x+1或者更多,那么就选x,选重复的元素没有影响,我们从i=0,1...,k-1,如果数组中包含i 那么就选出来,因为mex有机会...
}if(container[i].c > container[i-1].prefix_min){ drop[i]=true; } }//vector<struct NODE> left;set<longlong>leftidx;for(inti=0; i<n; i++){if(drop[i]){continue; }//left.push_back(container[i]);leftidx.insert(container[i].i);//cout << "a = " << container[i].a <<...
(i,j,++cnt);//先跑一遍dfs计算连通块,不然每染一次色都跑dfs会T for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) if(mp[i][j]==0){ cnt2++;//记录情况的总数 set <int> st;//利用set内会排除重复值的特性计算这个点周围有几个连通块 for(int l=0;l<4;l++) if(mp[i+pos[l...
ll x = 0; char c = getchar(); bool f = false; while (!isdigit(c)) { if (c == '-') f = true; c = getchar(); } while (isdigit(c)) { x = (x << 1) + (x << 3) + (c ^ 48); c = getchar(); } return f ? -x : x; } ll gcd(ll a, ll b) { return...
#include<cstdio>int n,a,d,t[1000003],maxa=-(1<<30);//maxa保存a的最大值,也是因子的最大值,t[i]表示因子i有多少个,d为n个数的最大公因数intgcd(int x,int y){if(!y)returnx;returngcd(y,x%y);}voidfj(int x){//分解质因数for(int i=2;i*i<=x;){if(!(x%i)){++t[i];//用...
直接用 set 维护 inline void solve() { int l, q; cin >> l >> q; set<int> se; se.insert(0); se.insert(l); while (q --) { int op, x; cin >> op >> x; if (op == 1) se.insert(x); else { auto it = se.lower_bound(x); cout << *it - *prev(it) << "\n...
https://atcoder.jp/contests/abc335/tasks/abc335_c 代码分享 代码语言:javascript 代码运行次数:0 复制Cloud Studio 代码运行 #include <bits/stdc++.h> using namespace std; const int max_n = 2e5 + 5; struct pos { int x, y; } head[max_n]; void best_coder() { int n, q; cin >>...
We will hold AtCoder Regular Contest 107. https://atcoder.jp/contests/arc107 Start Time: Duration: 100 minutes The point values will be 300 — 400 — 500 — 600 — 800 — 900. We are looking forward to your participation! 31332748916 ...
#include <set> usingnamespacestd; typedeflonglongll; constintmaxn=2e5+5; vector<int>f[maxn]; inta[maxn]; intvis[maxn*5]; voidread(ll&v) { llk=1; v=0; llc=getchar(); while(c<'0'||c>'9') { if(c=='-') k=0; ...
C题 AC代码 #include <bits/stdc++.h> using namespace std; int n, m, k, a[110][110], b[110]; char is_ok[110]; int ans; void check { for (int i = 1; i <= m; i++) { int total = 0; for (int j = 1; j <= a[i][0]; j++) { ...