0%

Edu-180-D. Reachability and Tree

思路讲解

那么注意到入度为2才是这个修改的充要条件,因为这样子修改边的朝向保证了只会增加一个好对数量。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
auto dfs=[&](auto &&dfs,ll u,ll alte)->void{
vis[u]=true;
FOR(i,0,SZ(g[u])-1){
ll v=g[u][i];
if(vis[v]) continue;
bool isop=false;
// 那么注意到入度为2才是这个修改的充要条件
if(SZ(g[u])==2 && isM==false){
alte=1-alte;
if(alte){
ans.pb({v,u});
}else{
ans.pb({u,v});
}
isM=true;
isop=true;
}else{
if(alte){
ans.pb({v,u});
}else{
ans.pb({u,v});
}
}
dfs(dfs,v,1-alte);
if(isop) alte=1-alte;
}
};

AC代码

https://codeforces.com/contest/2112/submission/325852721

心路历程(WA,TLE,MLE……)