暑假集訓CSP提高模擬2, 3, 4, 5

Peppa_Even_Pig發表於2024-07-23

活動投票

摩爾投票法,每次開兩個變數記錄一下現在的眾數及其個數,出現一個不同的數時就將這個不同的數和現在的眾數的一個一起刪掉,這樣最終剩下的就是大於 $ \frac{n}{2} $ 的眾數了;

Legacy

賽時不會線段樹最佳化建圖,賽後才發現這就是道板子;

具體地,我們建兩棵線段樹,一棵是“出樹”,路徑由根節點一層層指向葉子;一棵是“入樹”,路徑由葉子一層層指向根節點,當然,這些邊的邊權都為 $ 0 $;

當我們有單點指向區間時,只需從入樹的葉子節點指向出樹所對應的區間,反之亦然,由點到點只需連結相應的葉子結點即可;

注意,兩棵樹所對應的相同葉子節點要連邊權為 $ 0 $ 的邊(畢竟都是一個點);

DP搬運工1

整了個欲射性DP;

設 $ f[i][j][k] $ 表示考慮前 $ i $ 個,有 $ j $ 個空段,和為 $ k $ 的方案數;

轉移就不寫了;

abc猜想

相關文章