LeetCode 🟡 3356. Zero Array Transformation II
給定長度為 n 的陣列 nums 與 m 個區間減法查詢。每次查詢可選擇性將 [l, r] 範圍內的元素最多減少 val。求使整個陣列所有元素歸零所需的最小查詢前綴數量 k。若無法歸零,則返回 -1。本題有二分答案、雙指標單調性優化以及線段樹三種解法。
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 的總和,將式子變換後,轉化為從小到大依序加入點的問題。
ABC438F Sum of Mex
求所有樹上路徑未包含點號 mex 的總和,將式子變換後,轉化為從小到大依序加入點的問題。
AtCoder 🟡 ABC438E Heavy Buckets
用倍增快速累加走過的桶編號總和。
ABC438E Heavy Buckets
在函數圖上用倍增快速累加走過的桶編號總和。
AtCoder 🟡 ABC438D Tail of Snake
將序列切成非空三段並最大化三段收益總和,可以用前綴和加枚舉右維護左的方式,也可以用狀態機DP。
ABC438D Tail of Snake
將序列切成非空三段並最大化三段收益總和,可以用前綴和加枚舉右維護左的方式,也可以用狀態機DP。
















![Luogu 🟣 P3195 [HNOI2008] 玩具装箱](https://i.gdst.dev/cover/P3195.webp)
