Codeforces 🔵 CF1709E. XOR Tree
給定一棵樹,求最少修改幾次點權,使樹上任意簡單路徑的異或和均不為 0。利用樹上異或前綴和轉化為兩點前綴和與 LCA 點權的關係,使用自底向上以貪心策略與樹上啟發式合併解決。
LeetCode 🟡 1488. Avoid Flood in The City
透過有序容器(二分搜尋)或區間併查集(Union-Find),在下雨天與晴天之間進行貪心匹配,尋找最合適的抽水時機,避免湖泊溢出。
LeetCode 🟡 3356. Zero Array Transformation II
給定長度為 n 的陣列 nums 與 m 個區間減法查詢。每次查詢可選擇性將 [l, r] 範圍內的元素最多減少 val。求使整個陣列所有元素歸零所需的最小查詢前綴數量 k。若無法歸零,則返回 -1。本題有二分答案、雙指標單調性優化以及線段樹三種解法。
CSES 🎯 CSES-1632 Movie Festival II
將電影按結束時間排序,每次安排給能銜接且結束最晚的成員,最大化可觀看總數。
CSES 🎯 CSES-2428 Distinct Values Subarrays II
雙指標維護至多 k 種值的區間,統計每個右端點能形成的合法子陣列數。
AtCoder 🟢 ABC387C Snake Numbers
統計區間內最高位嚴格大於其餘所有數位的正整數,可用上下界同步限制的數位 DP 解決。
AtCoder 🔵 ABC381F 1122 Subsequence
在值域僅 20 的條件下,用子集 DP 記錄形成合法 1122 子序列後的最早結尾位置,求可選數字種類數上限。
AtCoder 🟢 ABC381E 11/22 Subsequence
對每個區間查詢,求能作為 11/22 字串的最長子序列;對答案二分,檢查固定長度是否可行,檢查函數中再二分搜尋出可能的 `1` 和 `2` 的位置,最後用前綴和判斷中間是否有 `/`。
AtCoder 🟡 ABC381D 1122 Substring
枚舉相鄰配對起點,用滑動窗口維護每種數字只出現一對的最長 1122 子陣列。
AtCoder 🔵 ABC457F Second Gap
從後綴最大與次大的位置關係建立 DP,利用懶線段樹或全域乘法標記加速轉移。
AtCoder 🔵 ABC457G Catch All Apples
將可接續關係轉成偏序,利用最長下降子序列求最少人數。
AtCoder 🟢 ABC457E Crossing Table Cloth
按照端點分組,二分找最有利候選,檢查銜接條件;對完全覆蓋的特殊情形,以後綴最小值檢查三種可行 Pattern。
AtCoder 🟡 ABC457D Raise Minimum
二分最小值,檢查把所有元素補到目標高度所需操作次數是否不超過限制。
AtCoder 🔵 ABC438F Sum of Mex
求所有樹上路徑未包含點號 mex 的總和,將式子變換後,轉化為從小到大依序加入點的問題。
AtCoder 🟡 ABC438E Heavy Buckets
在函數圖上用倍增快速累加走過的桶編號總和。















