P6156
純莫比烏斯反演的題目,注意非常規積性函數線性篩的推導。
P6222
上面的加強版,卡常+整數分塊就能過掉。
P5443
這裏簡單插一嘴 Kruskal 重構樹的定義以及性質,因爲發現之前的博客和網上的博客矛盾地方太多,這裏寫一點正確一點的。
一個無向圖做 Kruskal 過程中,如果兩個點不在同一結合,我們新建一個節點,然後把這個節點在並查集上的根,把這兩個根連到我們新建的節點上。
點權一樣是邊權,這樣做的話,這棵樹是二叉樹,其次是大根堆。然後從一個點開始走小於某條邊的邊能到達的所有路徑應該是這個點的一個深度最淺的祖先,這個祖先的子樹內的所有兒子。
本來以爲這個題目和 Kruskal 有關係,不過我們關注到 Kruskal 是一個靜態的東西,在上面做不了修改,如果修改的話就要棄用了。
分塊,一開始本來開始往 CDQ 方面想,但是 Kruskal 上的修改做不了。
分塊,之前的塊的修改全修改,對於每一個塊,我們把所有不在塊內修改的邊拿出來排序,把塊內的詢問拿出來排序,對於一個詢問,暴力修改之前的修改,然後查詢答案。注意複雜度的塊長。注意要考慮在一個塊內可能對某一條邊有多次修改,所以要一起處理。