牛客挑战赛42B 启发式合并
题意
一个有根树模型,根为1,包含点权。
对每个节点u,子树任意LCA(i,j)是u的两点,求最大的GCD(i,j),以及最大情况下ij取法的方案数。
思路
注意到这个题点权的范围和n相同的。
所有数枚举其因子,这些因子放在一个set里,size也不会超过最大数据范围。
统计gcd其实本质就是统计因子。
用一个结构统计子树所有数分解以后因子个数。
计算节点答案就是一些递推累加。
想到启发式合并优化一下,复杂度就差不多了。
O(N(ai+log(N)))O(N(\sqrt{a_i} + log(N)))O(
原创
2020-09-07 13:46:18 ·
193 阅读 ·
0 评论