模板题都能写挂。。。我这个萌新是没救了。。。哪位神犇帮忙看看好吗?

P3379 【模板】最近公共祖先(LCA)

对于WA,我的态度: 如果能找到一组规模不大的程序出错的样例,自己调,否则写rand和暴力做hack数据,如果无法构造hack数据就重写,直到AC
by WaReTle @ 2020-04-03 23:22:07


@[Andy_2006](/user/261262) 自己调吧
by WaReTle @ 2020-04-03 23:23:36


@[Andy_2006](/user/261262) ~~不是猪国杀就好~~
by WaReTle @ 2020-04-03 23:25:01


@[Andy_2006](/user/261262) 没仔细看,但是您 dfs 中第二行 ```cpp d[x]=d[fa+1]; ``` 应为 ```cpp d[x]=d[fa]+1; ``` 吧?
by stoorz @ 2020-04-03 23:27:50


中国好哥哥Orz
by Andysun06 @ 2020-04-03 23:33:26


中国好哥哥Orz
by _Z_M_R @ 2020-04-03 23:42:23


中国好哥哥Orz
by PrincessQi @ 2020-04-03 23:58:11


至少两个错误吧。 第一个: ```cpp d[x]=d[fa+1]; ``` 应当改为: ```cpp d[x]=d[fa]+1; ``` 第二个: ```cpp int getlca(int a,int b) { if(d[a]>d[b]) { swap(a,b); } while(d[a]<d[b]) { b=p[b][lg[d[b]-d[a]]-1]; } if(a==b) return a;//就是这里加了一句话!!! for(int i=lg[a];i>=0;i--) { if(p[a][i]!=p[b][i]) { a=p[a][i]; b=p[b][i]; } } return p[a][0]; } ```
by _LPF_ @ 2020-04-04 00:31:46


@[Dr冯](/user/104662) 中国好哥哥是什么梗
by do_while_true @ 2020-04-04 00:54:40


|