P4180 错误的代码也能过
查看原帖
P4180 错误的代码也能过
140614
Fate_4God楼主2020/8/20 18:23

LCA求最小生成树的时候,在最后一步根据倍增更新最大值和次大值的时候,倘若不更新s = f[s][i],样例也是能过的void Solve(int s,int t,int w_) { int m1 = 0, m2 = 0, k = d[s] - d[t]; for(int i = 0; i <= 17; i ++) { if(k >> i & 1) { m2 = max(m2, g[s][i][1]); if(g[s][i][0] > m1) {m2 = max(m2, m1); m1 = g[s][i][0];} s = f[s][i]; } } if(m1 == w_) Min = min(Min, w_ - m2); else Min = min(Min, w_ - m1);
}

2020/8/20 18:23
加载中...