hdu 4407 Sum(容斥)
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