http://acm.hdu.edu.cn/showproblem.php?pid=4407
起初有n个数1~n,这里有m个操作,两种类型。操作1:求出[x,y]区间内与p互质的数的和。操作2:将第x位置的数变成y。对于每一个询问,输出结果。
因为只有1000次操作,而且起初是有序的。那么对于第i个询问,我们先忽略i之前的所有的第2种操作,即认为n个数为1~n,根据容斥原理求出[x,y]区间内与p互质的数之和,然后遍历i之前的操作2,对所求的答案进行调整即可。wa了无数次,改了好久,是因为我忽略的一点,对x位置的数有可能进行多次修改,我们只需考虑最后一次修改即可。所以可用用map保存一下操作2。
#include
#include
#include