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
用倍增快速累加走過的桶編號總和。
AtCoder 🟡 ABC438D Tail of Snake
將序列切成非空三段並最大化三段收益總和,可以用前綴和加枚舉右維護左的方式,也可以用狀態機DP。
AtCoder 🟠 ABC438C 1D puyopuyo
依序加入方塊,利用堆疊模擬連續四個相同方塊消除後的剩餘數量。
AtCoder 🔵 ABC410G Longest Chord Chain
在圓上保留一組互不相交弦,再加一條弦使交點數最大;破環成鏈後可以轉換成二維 LIS 問題。
AtCoder 🟢 ABC439F Beautiful Kadomatsu
峰數大於谷數等價於「升序開頭 + 降序結尾」,枚舉第二與倒數第二項,樹狀陣列預處理 + 前綴和優化。
AtCoder 🟢 ABC439E Kite
將線段不相交問題轉化為二維LIS問題,按 A 排序後對 B 求最長嚴格遞增子序列。
AtCoder 🟡 ABC439D Kadomatsu Subsequence
前後綴分解,將 j 為中心(最小或最大)的三元組分開計數,利用 HashTable 統計 7 和 3 的倍數出現次數。















