0%

CF-1027-E. Kirei Attacks the Estate

思路讲解

是比较简单的树上dp问题,记录一下。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void dfs(ll node,ll x0,ll x1,ll cnt){
// x0表示cnt%2==0时加
if(vis[node]) return;
vis[node]=true;
ans[node]= cnt%2==0?A[node]+x1:A[node]+x0;
if(cnt%2==0){
x0-=A[node];
x1+=A[node];
}
if(cnt%2==1){
x0+=A[node];
x1-=A[node];
}
FOR(i,0,SZ(g[node])-1){
ll lnode=g[node][i];
if(vis[lnode]) continue;
dfs(lnode,max(0ll,x0),max(0ll,x1),cnt+1);
}
}

AC代码

https://codeforces.com/contest/2114/submission/323228554

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