CF870F Paths
题意:给定一张
对于点
记
求节点两两之间距离之和。
对于两个数
在判定两个数能不能连边时,只需要考虑质因子集合,不需要考虑质因子次数。
若
中有一个为 ,则 ,直接将 忽略。 若两个数不互质,则直接连接。(
Case #A
)对于两个互质的数
,取出各自的最小质因子 。 若
,则 , 。( Case #B
)若
且 ,则 。 。( Case #C
)若
,则 。( Case #D
)
下面对每种情况分别统计贡献。
Case #A
线性筛即可。
Case #B
算出互质数对的总数,再减去其他情况。
Case #C
记
因此,有
Case #D
总复杂度
本题的妙处在于, 四种情况的统计并不是一样难的,需要适当运用正难则反思想。
关键在于