AtCoder 🟢 AT_dp_p Independent Set
樹形 DP,對每個節點維護選/不選兩種狀態的方案數,利用乘法原理合併子樹
AtCoder 🟢 AT_dp_o Matching
狀態壓縮 DP,用 bitmask 表示女性配對狀態,逐個男性轉移並計數。
AtCoder 🟡 AT_dp_n Slimes
區間 DP 經典題,合併相鄰元素使總成本最小化。
AtCoder 🟢 AT_dp_m Candies
DP 計算分配方案數,利用前綴和將轉移優化至線性
AtCoder 🟡 AT_dp_l Deque
區間 DP 解決雙人博弈問題,利用 Minimax 算法計算雙方最優策略下的得分差值。
AtCoder 🟡 AT_dp_k Stones
博弈 DP 基礎題,利用必勝態與必敗態的轉移關係(存在後繼為必敗則當前必勝)進行求解。
AtCoder 🟢 AT_dp_j Sushi
將不同種類的盤子數量視為狀態,根據轉移方程移項化簡後求解。
AtCoder 🟢 AT_dp_i Coins
計算 N 枚硬幣投擲後正面數多於反面數的機率,使用動態規劃 dp[j] 表示出現 j 次正面的機率。
AtCoder 🟡 AT_dp_g Longest Path
DAG 最長路徑,使用拓撲排序按順序轉移,確保每個節點的所有前驅已處理完畢。
AtCoder 🟡 AT_dp_e Knapsack 2
由於重量限制過大但價值較小,改為計算達成特定價值所需的最小重量 (Min-Weight DP)。
Codeforces ⚫ CF2183G. Snake Instructions
利用 L, LR, R 三次詢問配合碰撞特性與位置回溯推導蛇的速度,並需特判 0, x, 0 的無解情況。
Codeforces 🔵 CF2183F. Jumping Man
利用組合數學轉化平方和為路徑對計數,使用DFS序將子樹轉成區間維護以及二維後綴和優化DP。
Codeforces 🔵 CF2183E. LCM is Legendary Counting Master
利用不等式證明 a1=1 且相鄰差值須為前項因數,轉化為路徑計數 DP 問題。
Codeforces 🔵 CF2183D2. Tree Coloring (Hard Version)
構造樹染色方案,使得同層節點不同色且父子不同色。利用層內循環位移與交換策略解決顏色衝突。
Codeforces 🟡 CF2183D1. Tree Coloring (Easy Version)
對樹進行染色,每次選擇無邊且深度不同的節點集。

















