547c专题

CodeForces 547C. Mike and Foam 莫比乌斯反演

题意:给定一个长度为n的数列a,和q个操作(1<= n,q <= 2*10^5, 1 <= a[i] <= 5*10^5 ) 需要维护一个多重集合Q. 每个操作给出一个下标i,如果a[i]属于Q那么把a[i]从Q中拿走,如果a[i]不属于Q,那么把a[i]加入Q中。 每次操作后询问Q中,有多少对i,j满足条件 i<j 且 gcd(a[i],a[j])=1 这个性质的维护比较困难,直