倍增可做的吧

P2420 让我们异或吧

预处理第j个点跳2^i次方所能到达某个点时, 预处理第j个点跳2^(i-1) 与 第j个点跳2^(i-1)次方时所在的点 跳2^(i-1) 的异或(你还是看下面的代码吧) ```cpp for(int i=1; i<=depth; i++) for(int j=1; j<=n; j++) { f[j][i]=f[f[j][i-1]][i-1]; val[j][i]=val[j][i-1]^val[f[j][i-1]][i-1]; } ```
by OIer991215 @ 2017-06-10 00:12:06


@ chauchat
by OIer991215 @ 2017-06-10 00:12:37


@chauchat
by OIer991215 @ 2017-06-10 00:12:55


不用倍增啊,一遍dfs之后 O(1) 就能回答每组询问
by 金爷爷哈哈 @ 2017-10-03 10:57:28


|