题解复杂度有误
查看原帖
题解复杂度有误
237530
rzh123楼主2023/8/17 19:52

https://www.luogu.com.cn/blog/yizhiming/solution-cf1801e

题解说是 O(nlog⁡nα(n))O(n\log n\alpha(n)),但是

for(int i=K;i>=0;i--){
	if((k>>i)&1){
		k^=(1<<i);
		merge2(b,getfa(c,k),i);
		b = fa[i][b];
	}
}

这一步倍增 O(log⁡n)O(\log n),kk 级祖先 O(log⁡n)O(\log n),总共是 O(log⁡2n)O(\log^2 n) 的。

2023/8/17 19:52
加载中...