【UOJ#33】【UR #2】树上GCD(长链剖分/根号分类讨论)
【UOJ#33】【UR #2】树上GCD
求解树上两个点到lca的距离的最大公约数是k的对数
首先我们很容易就想到莫比乌斯反演,那么利用倍数形式,我们只需要求解是i的倍数的对数。
考虑枚举lca,这个问题就和深度有关,那么可以长链剖分,然后每次枚举倍数是O(dlogd)的,但是这里的深度不止是轻链还有重链,那么复杂度就不对了。
但是我们发现当这个倍数很大时复杂度是正确的,每次维护轻链的倍数,然后对于每个倍数跳,总复杂度就是O(nn)O(n\sqrt{n})O(nn)。但是很小的时候就不对了,但是我们利用根
原创
2021-01-18 08:50:57 ·
170 阅读 ·
0 评论