计蒜客 - A1082 青云的机房组网方案(困难)

该博客探讨了A1082题目的解决方案,涉及一棵结点带权的树,目标是求点权互质的所有点对距离和。博主介绍了使用点分治和树形DP的方法,通过莫比乌斯反演处理gcd=1的点对,并提出了使用dsu on tree优化空间复杂度。文章提供了两种解题思路,包括点分治和虚树+树形DP,且提及每种方法的时间复杂度为O(nlogn105)。
摘要由CSDN通过智能技术生成
题意:

给定一棵有 n n n 个结点的树,结点带权 a i a_i ai,求点权互质的所有点对距离和。 ( n , a i ≤ 1 0 5 ) (n, a_i \leq 10^5) (n,ai105)

链接:

https://nanti.jisuanke.com/t/A1082

解题思路:

考虑点分治处理路径,那么子问题为求序列中所有互质点对的信息,即处理 g c d = 1 gcd = 1 gcd=1 的点对,记答案为 f ( 1 ) f(1) f(1),那么利用莫比乌斯进行容斥, f ( 1 ) = ∑ i = 1 1 0 5 μ ( i ) g ( i ) f(1) = \sum\limits_{i = 1}^{10^5} \mu(i)g(i) f(1)=i=1105μ(i)g(i),其中 g ( i ) g(i) g(i) 为含 i i i 因子的点对的统计答案。预处理 μ ( i ) \mu(i) μ(i),点分 c a l ( ) cal() cal() 时,每个点只会对 g ( i ) g(i) g(i) 有贡献,其中 i ∣ a i i \mid a_i iai,枚举因子进行统计。总复杂度为 O ( n l o g n 1 0 5 ) O(nlogn\sqrt{10^5}) O(nlogn105 ),松上界。

此外,考虑直接进行树形 d p dp dp,困难在于每个点需要维护一个长度为 1 0 5 10^5 105 的表来进行答案统计,故用 d s u   o n   t r e e dsu~on~tree dsu on tree 来仅维护一个全局的表,可以在相同的复杂度内求解。

另一个角度看,每次枚举因子 i i i,仅考虑对含

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值