A. 或許
稍微觀察一下或者打個表可以發現實際上就是動態維護線性基的大小,支持插入和刪除。
刪除首先想線段樹分治然後被卡了。
所以考慮離線,處理出每個元素被刪除的時間,在線性基中維護這一位被刪除的時間,並且滿足從高位到低位刪除越來越早。
這樣最先刪除的一定是低位,對高位沒有影響,可以直接刪除。
然後考慮插入,在正常插入的基礎上,若當前位的刪除時間比插入的數早同樣可以替換。
B. 這就是
考慮狀壓,枚舉當前已經確定的集合。然後枚舉一個新的集合,滿足這個集合選擇的數都相等。
爲了保證不重不漏且方便計數,可以考慮欽定最小的點一定在新集合中。
枚舉子集轉移即可。
C. 人生吧
看到部分分的提示,可以想到莫隊。
求gcd可以想到分別對每個質因子考慮,然後推一推式子可以做到$Olog$擴展。是可以卡掉的然而數據似乎是隨機的。。。
然後考慮優化這個東西。根號分治,對於大於根號的質因子暴力擴展,小質因子預處理前綴和暴力統計即可。