Codeforces Round #681 (based on VK Cup 2019-2020 - Final) DIV1 E問題 (1750pt)
VK Cup 2019-2020 - Final Round D問題 (1750pt)
Problem description
省略
省略
C++に変換後のコードはこちら
//no-unlocked
int N, A[2d5], X[2d5], Y[2d5];
graph g;
int deg[2d5];
int st[2d5], ss, nx[2d5], ns;
{
REP(rd_int()){
int res = int_inf, tmp, cur;
rd(N,(A--)(N),(X--,Y--)(N-1));
if(N==1) wt(1), continue;
rep(mode,2){
g.setEdge(N,N-1,X,Y);
rep(i,N) deg[i] = g.es[i];
ss = 0;
rep(i,N) if(deg[i]==1) st[ss++] = i;
tmp = 0;
cur = mode;
while(ss){
tmp++;
cur ^= 1;
ns = 0;
while(ss){
i = st[--ss];
if(A[i] != -1 && A[i] != cur) nx[ns++] = i, continue;
rep[g.edge[i]](j,g.es[i]){
deg[j]--;
if(deg[j]==1) st[ss++] = j;
}
}
ss = ns;
rep(i,ss) st[i] = nx[i];
}
res <?= tmp;
}
wt(res);
}
}
Current time: 2024年04月24日14時28分42秒
Last modified: 2020年11月03日08時07分47秒 (by laycrs)
Tags: Competitive_Programming_Incomplete Codeforces CF681 CF_DIV1_E
トップページに戻る
Logged in as: unknown user (not login)