给10^5个操作,每次操作添加或删除一个不超过10^5的正整数,问当前存在的数两两之间互质的对数。
一下就确定是根据添加的数的约数来处理,但是不好排除重复计算的,只想到最土的一次操作是该数的约数个数平方级别的做法。看了别人代码才知道,是最原始的容斥,根据包含的素因子的个数来。比如12有两个素因子2,3,就只要分奇偶考虑,2(+),3(+),6(-)。唉,以前做过这种的,最基础的容斥了吧。
时间: 2024-11-14 12:00:37
给10^5个操作,每次操作添加或删除一个不超过10^5的正整数,问当前存在的数两两之间互质的对数。
一下就确定是根据添加的数的约数来处理,但是不好排除重复计算的,只想到最土的一次操作是该数的约数个数平方级别的做法。看了别人代码才知道,是最原始的容斥,根据包含的素因子的个数来。比如12有两个素因子2,3,就只要分奇偶考虑,2(+),3(+),6(-)。唉,以前做过这种的,最基础的容斥了吧。