警示后人(如果你RE on #1#2#4#5)
查看原帖
警示后人(如果你RE on #1#2#4#5)
935908
zengziqvan楼主2024/8/1 00:36

如果你写的是倍增 LCA,注意求 LCA 时第二阶段被求的两点同步倍增向上跳时,代码应为:

for(int i=lg;i>=0;--i) 
	if(dp[x][i]!=dp[y][i]) 
    		x=dp[x][i],y=dp[y][i];

而不是:

for(int i=lg;i>=0;--i) 
	if(dep[dp[x][i]]!=dep[dp[y][i]]) 
    		x=dp[x][i],y=dp[y][i];

估计也只有我会犯这么ruozhi的错误了。

2024/8/1 00:36
加载中...