AtCoder 🟢 ABC465E Digit Circus
給定三個條件,統計 1 到 N 中恰好滿足一個條件的整數,利用數位 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
在函數圖上用倍增快速累加走過的桶編號總和。
AtCoder 🟡 ABC438D Tail of Snake
將序列切成非空三段並最大化三段收益總和,可以用前綴和加枚舉右維護左的方式,也可以用狀態機DP。
AtCoder 🟠 ABC438C 1D puyopuyo
依序加入方塊,利用堆疊模擬連續四個相同方塊消除後的剩餘數量。
AtCoder 🔵 ABC410G Longest Chord Chain
在圓上保留一組互不相交弦,再加一條弦使交點數最大;破環成鏈後可以轉換成二維 LIS 問題。
AtCoder 🟣 ABC434F Concat (2nd)
給定 N 個字串,求出所有排列組成的字串中字典序第二小的字串。透過自定義排序規則與局部交換獲得答案。
AtCoder 🟢 ABC434E Distribute Bunnies
將兔子的兩種跳躍終點視為圖上的節點,每隻兔子視為邊,問題轉換為計算各連通分量中最多能覆蓋的點數(取點數與邊數的最小值)。















