AtCoder 🟢 ABC465E Digit Circus
給定三個條件,統計 1 到 N 中恰好滿足一個條件的整數,利用數位 DP 維護狀態和上下界限制。
AtCoder 🟢 ARC146B Plus and AND
給定加一操作次數上限,最大化選出 K 個數的 AND;從高位到低位試填答案,計算每個數補齊目標位元的最小成本。
AtCoder 🟢 ABC387C Snake Numbers
統計區間內最高位嚴格大於其餘所有數位的正整數,可用上下界同步限制的數位 DP 解決。
AtCoder 🟢 ABC381E 11/22 Subsequence
對每個區間查詢,求能作為 11/22 字串的最長子序列;對答案二分,檢查固定長度是否可行,檢查函數中再二分搜尋出可能的 `1` 和 `2` 的位置,最後用前綴和判斷中間是否有 `/`。
AtCoder 🟢 ABC457E Crossing Table Cloth
按照端點分組,二分找最有利候選,檢查銜接條件;對完全覆蓋的特殊情形,以後綴最小值檢查三種可行 Pattern。
AtCoder 🟢 ABC434E Distribute Bunnies
將兔子的兩種跳躍終點視為圖上的節點,每隻兔子視為邊,問題轉換為計算各連通分量中最多能覆蓋的點數(取點數與邊數的最小值)。
AtCoder 🟢 ABC428E Farthest Vertex
給定 N 頂點的樹,對每個頂點求最遠頂點(同距取最大編號);利用樹直徑端點性質,三次 BFS 即可求解。
AtCoder 🟢 AT_dp_r Walk
利用矩陣快速冪在 O(N^3 log K) 時間內求出有向圖中長度為 K 的路徑總數。
AtCoder 🟢 AT_dp_q Flowers
線段樹優化帶權 LIS,以高度為索引維護最大美麗值前綴和
AtCoder 🟢 AT_dp_p Independent Set
樹形 DP,對每個節點維護選/不選兩種狀態的方案數,利用乘法原理合併子樹
AtCoder 🟢 AT_dp_o Matching
狀態壓縮 DP,用 bitmask 表示女性配對狀態,逐個男性轉移並計數。
AtCoder 🟢 AT_dp_m Candies
DP 計算分配方案數,利用前綴和將轉移優化至線性
AtCoder 🟢 AT_dp_j Sushi
將不同種類的盤子數量視為狀態,根據轉移方程移項化簡後求解。
AtCoder 🟢 AT_dp_i Coins
計算 N 枚硬幣投擲後正面數多於反面數的機率,使用動態規劃 dp[j] 表示出現 j 次正面的機率。
AtCoder 🟢 ABC439F Beautiful Kadomatsu
峰數大於谷數等價於「升序開頭 + 降序結尾」,枚舉第二與倒數第二項,樹狀陣列預處理 + 前綴和優化。
















