動態規劃
動態規劃把問題拆成更小的同類問題,先求出小問題的答案再組合起來,並把答案存下來避免重算。最難的是決定「狀態」代表什麼,程式碼本身往往不長。
這是份量最大的題單,20 章共 465 題。從入門 DP 和網格 DP 開始,接著是背包、LCS 與 LIS、劃分型與狀態機 DP,再往後是區間、狀態壓縮、數位、樹形、圖上、博弈與機率 DP,另外還有輸出具體方案、跳躍遊戲變形等專題。適合已經能自在寫遞迴、想照順序把 DP 從頭練一遍的人。
465 題難度分 1262–312520 章節
進入書房
想要有人陪你寫完這份題單嗎?登入後進入書房,女主角會一次拿一道題目給你。
一、入門 DP
§1.1 爬樓梯
| 題目 | 難度分 |
|---|---|
| 70. 爬樓梯 | 未評分 |
| 746. 使用最小花費爬樓梯 | 1500 |
| 3693. 爬樓梯 II | 1560 |
| 377. 組合總和 Ⅳ | 1600 |
| 2466. 統計構造好字符串的方案數 | 1694 |
| 2266. 統計打字方案數 | 1857 |
§1.2 打家劫舍
| 題目 | 難度分 |
|---|---|
| 198. 打家劫舍 | 未評分 |
| 213. 打家劫舍 II | 未評分 |
| 2320. 統計放置房子的方式數 | 1608 |
| 740. 刪除並獲得點數 | 未評分 |
| 3186. 施咒的最大總傷害 | 1841 |
| 2140. 解決智力問題 | 1709 |
§1.3 Maximum Subarray Sum(最大子段和)
| 題目 | 難度分 |
|---|---|
| 53. 最大子數組和 | 未評分 |
| 2606. 找到最大開銷的子字符串 | 1422 |
| 1749. 任意子數組和的絕對值的最大值 | 1542 |
| 1191. K 次串聯後最大子數組之和 | 1748 |
| 918. 環形子數組的最大和 | 1777 |
| 2321. 拼接數組的最大分數 | 1791 |
| 152. 乘積最大子數組 | 未評分 |
| 1186. 刪除一次得到子數組最大和 | 1799 |
| 3381. 長度可被 K 整除的子數組的最大元素和 | 1943 |
二、Grid DP
§2.1 基礎
| 題目 | 難度分 |
|---|---|
| 64. 最小路徑和 | 未評分 |
| 62. 不同路徑 | 未評分 |
| 63. 不同路徑 II | 未評分 |
| 120. 三角形最小路徑和 | 未評分 |
| 3393. 統計異或值為給定值的路徑數目 | 1573 |
| 931. 下降路徑最小和 | 1573 |
| 2684. 矩陣中移動的最大次數 | 1626 |
| 3603. 交替方向的最小路徑代價 II | 1639 |
| 2304. 網格中的最小路徑代價 | 1658 |
| 1289. 下降路徑最小和 II | 1697 |
| 3418. 機器人可以獲得的最大金幣數 | 1798 |
| 3742. 網格中得分最大的路徑 | 1804 |
| 1824. 最少側跳次數 | 1778 |
§2.2 進階
| 題目 | 難度分 |
|---|---|
| 1594. 矩陣的最大非負積 | 1807 |
| 1301. 最大得分的路徑數目 | 1853 |
| 3665. 統計鏡子反射路徑數目 | 1883 |
| 2435. 矩陣中和能被 K 整除的路徑 | 1952 |
| 174. 地下城遊戲 | 未評分 |
| 329. 矩陣中的最長遞增路徑 | 未評分 |
| 2328. 網格圖中遞增路徑的數目 | 2001 |
| 2267. 檢查是否有合法括號字符串路徑 | 2085 |
| 1937. 扣分後的最大得分 | 2106 |
| 3363. 最多可收集的水果數目 | 2200 |
| 1463. 摘櫻桃 II | 未評分 |
| 741. 摘櫻桃 | 未評分 |
| 3459. 最長 V 形對角線段的長度 | 2337 |
三、Knapsack DP
§3.1 0-1 Knapsack
| 題目 | 難度分 |
|---|---|
| 416. 分割等和子集 | 未評分 |
| 494. 目標和 | 未評分 |
| 2915. 和為目標值的最長子序列的長度 | 1659 |
| 2787. 將一個數字表示成冪的和的方案數 | 1818 |
| 3180. 執行操作可獲得的最大總獎勵 I | 1849 |
| 474. 一和零 | 未評分 |
| 3489. 零數組變換 IV | 2068 |
| 3685. 含上限元素的子序列和 | 2073 |
| 1049. 最後一塊石頭的重量 II | 2092 |
| 1774. 最接近目標價格的甜點成本 | 未評分 |
| 879. 盈利計劃 | 2204 |
| 3082. 求出所有子序列的能量和 | 2242 |
| 956. 最高的廣告牌 | 2381 |
| 2518. 好分區的數目 | 2415 |
| 2742. 給牆壁刷油漆 | 2425 |
| 3181. 執行操作可獲得的最大總獎勵 II | 2688 |
§3.2 Unbounded Knapsack
| 題目 | 難度分 |
|---|---|
| 322. 零錢兌換 | 未評分 |
| 518. 零錢兌換 II | 未評分 |
| 279. 完全平方數 | 未評分 |
| 3592. 硬幣面值還原 | 1701 |
| 1449. 數位成本和為目標值的最大數字 | 1927 |
§3.3 Bounded Knapsack(選做)選做
| 題目 | 難度分 |
|---|---|
| 2585. 獲得分數的方法數 | 1910 |
| 3333. 找到初始輸入字符串 II | 2629 |
| 2902. 和帶限制的子多重集合的數目 | 2759 |
| 3489. 零數組變換 IV | 未評分 |
§3.4 Grouped Knapsack
| 題目 | 難度分 |
|---|---|
| 1155. 擲骰子等於目標和的方法數 | 1654 |
| 1981. 最小化目標值與所選元素的差 | 2010 |
| 2218. 從棧中取出 K 個硬幣的最大面值和 | 2158 |
§3.5 Tree Knapsack(選做)選做
| 題目 | 難度分 |
|---|---|
| 3562. 折扣價交易股票的最大利潤 | 2458 |
四、經典Linear DP
§4.1 Longest Common Subsequence (LCS)
| 題目 | 難度分 |
|---|---|
| 1143. 最長公共子序列 | 未評分 |
| 583. 兩個字符串的刪除操作 | 未評分 |
| 712. 兩個字符串的最小 ASCII 刪除和 | 未評分 |
| 72. 編輯距離 | 未評分 |
| 1035. 不相交的線 | 1806 |
| 1458. 兩個子序列的最大點積 | 1824 |
| 718. 最長重複子數組 | 未評分 |
| 3290. 最高乘法得分 | 1692 |
| 115. 不同的子序列 | 未評分 |
| 3628. 插入一個字母的最大子序列數 | 1754 |
| 3316. 從原字符串裡進行刪除操作的最多次數 | 2062 |
| 1639. 通過給定詞典構造目標字符串的方案數 | 2082 |
| 97. 交錯字符串 | 未評分 |
| 1092. 最短公共超序列 | 未評分 |
| 44. 通配符匹配 | 未評分 |
| 10. 正則表達式匹配 | 未評分 |
§4.2 Longest Increasing Subsequence (LIS)
| 題目 | 難度分 |
|---|---|
| 300. 最長遞增子序列 | 未評分 |
| 334. 遞增的三元子序列 | 未評分 |
| 2826. 將三個組排序 | 1721 |
| 1671. 得到山形數組的最少刪除次數 | 1913 |
| 1964. 找出到每個位置為止最長的有效障礙賽跑路線 | 1933 |
| 2111. 使數組 K 遞增的最少操作次數 | 1941 |
| 354. 俄羅斯套娃信封問題 | 未評分 |
| 1626. 無矛盾的最佳球隊 | 2027 |
| 1691. 堆疊長方體的最大高度 | 2172 |
| 960. 刪列造序 III | 2247 |
| 2407. 最長遞增子序列 II | 2280 |
| 673. 最長遞增子序列的個數 | 未評分 |
| 1187. 使數組嚴格遞增 | 2316 |
| 1713. 得到子序列的最少操作次數 | 2351 |
| 3288. 最長上升路徑的長度 | 2450 |
| 368. 最大整除子集 | 1800 |
| 2901. 最長相鄰不相等子序列 II | 1899 |
五、Partition DP
§5.1 判定能否劃分
| 題目 | 難度分 |
|---|---|
| 2369. 檢查數組是否存在有效劃分 | 1780 |
| 139. 單詞拆分 | 未評分 |
§5.2 最優劃分
| 題目 | 難度分 |
|---|---|
| 132. 分割回文串 II | 未評分 |
| 2707. 字符串中的額外字符 | 1736 |
| 3196. 最大化子數組的總成本 | 1847 |
| 2767. 將字符串分割為最少的美麗子字符串 | 1865 |
| 91. 解碼方法 | 未評分 |
| 639. 解碼方法 II | 未評分 |
| 1043. 分隔數組以得到最大和 | 1916 |
| 3144. 分割字符頻率相等的最少子字符串 | 1917 |
| 1416. 恢復數組 | 1920 |
| 2472. 不重疊迴文子字符串的最大數目 | 2013 |
| 1105. 填充書架 | 2014 |
| 2547. 拆分數組的最小代價 | 2020 |
| 3578. 統計極差最大為 K 的分割方式數 | 2033 |
| 2430. 對字母串可執行的最大刪除數 | 2102 |
| 2463. 最小移動總距離 | 2454 |
| 3579. 字符串轉換需要的最小操作數 | 2493 |
| 3500. 將數組分割為子數組的最小代價 | 2569 |
| 3441. 變成好標題的最少代價 | 2765 |
§5.3 約束劃分個數
六、State Machine DP
§6.1 買賣股票
| 題目 | 難度分 |
|---|---|
| 121. 買賣股票的最佳時機 | 未評分 |
| 122. 買賣股票的最佳時機 II | 未評分 |
| 123. 買賣股票的最佳時機 III | 未評分 |
| 188. 買賣股票的最佳時機 IV | 未評分 |
| 3573. 買賣股票的最佳時機 V | 1777 |
| 309. 買賣股票的最佳時機含冷凍期 | 未評分 |
| 714. 買賣股票的最佳時機含手續費 | 未評分 |
§6.2 基礎
| 題目 | 難度分 |
|---|---|
| 3259. 超級飲料的最大強化能量 | 1484 |
| 2222. 選擇建築的方案數 | 1657 |
| 2708. 一個小組的最大實力值 | 未評分 |
| 1567. 乘積為正數的最長子數組長度 | 1710 |
| 2786. 訪問數組中的位置使分數最大 | 1733 |
| 1911. 最大交替子序列和 | 1786 |
| 376. 擺動序列 | 未評分 |
§6.3 進階
| 題目 | 難度分 |
|---|---|
| 3628. 插入一個字母的最大子序列數 | 1754 |
| 2771. 構造最長非遞減子數組 | 1792 |
| 1186. 刪除一次得到子數組最大和 | 1799 |
| 1594. 矩陣的最大非負積 | 1807 |
| 3738. 替換至多一個元素後最長非遞減子數組 | 1811 |
| 3196. 最大化子數組的總成本 | 1847 |
| 935. 騎士撥號器 | 未評分 |
| 1537. 最大得分 | 1961 |
| 2919. 使數組變美的最小增量運算數 | 2031 |
| 801. 使序列遞增的最小交換次數 | 2066 |
| 3434. 子數組操作後的最大頻率 | 2094 |
| 1955. 統計特殊子序列的數目 | 2125 |
| 3068. 最大節點價值之和 | 2268 |
| 3640. 三段式數組 II | 2278 |
| 2272. 最大波動的子字符串 | 2516 |
| 3661. 可以被機器人摧毀的最大牆壁數目 | 2525 |
| 3743. 循環劃分的最大得分 | 3125 |
七、其他Linear DP
§7.1 一維 DP
| 題目 | 難度分 |
|---|---|
| 3147. 從魔法師身上吸取的最大能量 | 1460 |
| 2944. 購買水果需要的最少金幣數 | 1709 |
| 2140. 解決智力問題 | 1709 |
| 983. 最低票價 | 1786 |
| 368. 最大整除子集 | 1800 |
| 2901. 最長相鄰不相等子序列 II | 1899 |
| 650. 兩個鍵的鍵盤 | 2000 |
| 871. 最低加油次數 | 2074 |
| 32. 最長有效括號 | 未評分 |
| 2167. 移除所有載有違禁貨物車廂所需的最少時間 | 2219 |
| 2188. 完成比賽的最少時間 | 2315 |
| 2896. 執行操作使兩個字符串相等 | 未評分 |
| 3389. 使字符頻率相等的最少操作次數 | 2940 |
| 2597. 美麗子集的數目 | 未評分 |
§7.2 不相交區間
| 題目 | 難度分 |
|---|---|
| 2830. 銷售利潤最大化 | 1851 |
| 2008. 出租車的最大盈利 | 1872 |
| 2054. 兩個最好的不重疊活動 | 1883 |
| 1235. 規劃兼職工作 | 2023 |
| 1751. 最多可以參加的會議數目 II | 2041 |
| 3414. 不重疊區間的最大得分 | 2723 |
§7.3 subarray DP
| 題目 | 難度分 |
|---|---|
| 53. 最大子數組和 | 未評分 |
| 152. 乘積最大子數組 | 未評分 |
| 1186. 刪除一次得到子數組最大和 | 1799 |
| 3738. 替換至多一個元素後最長非遞減子數組 | 1811 |
| 3524. 求出數組的 X 值 I | 2008 |
| 3448. 統計可以被最後一個數位整除的子字符串數目 | 2387 |
| 2262. 字符串的總引力 | 2033 |
| 828. 統計子串中的唯一字符 | 2034 |
| 467. 環繞字符串中唯一的子字符串 | 未評分 |
§7.4 合法subsequence DP
| 題目 | 難度分 |
|---|---|
| 2501. 數組中最長的方波 | 1480 |
| 1218. 最長定差子序列 | 1597 |
| 2826. 將三個組排序 | 1721 |
| 1027. 最長等差數列 | 1759 |
| 2370. 最長理想子序列 | 1835 |
| 873. 最長的斐波那契子序列的長度 | 1911 |
| 3686. 穩定子序列的數量 | 1969 |
| 3202. 找出有效子序列的最大長度 II | 1974 |
| 446. 等差數列劃分 II - 子序列 | 未評分 |
| 3351. 好子序列的元素之和 | 2086 |
| 3041. 修改數組後最大化數組中的連續元素數目 | 2231 |
| 3409. 最長相鄰絕對差遞減子序列 | 2500 |
| 3098. 求出所有子序列的能量和 | 2553 |
| 2901. 最長相鄰不相等子序列 II | 未評分 |
| 1048. 最長字符串鏈 | 1599 |
| 940. 不同的子序列 II | 1985 |
| 1987. 不同的好子序列數目 | 2422 |
| 730. 統計不同迴文子序列 | 未評分 |
§7.5 子矩形 DP
| 題目 | 難度分 |
|---|---|
| 3148. 矩陣中的最大得分 | 1820 |
| 221. 最大正方形 | 未評分 |
| 1277. 統計全為 1 的正方形子矩陣 | 未評分 |
| 2088. 統計農場中肥沃金字塔的數目 | 2105 |
| 3197. 包含所有 1 的最小矩形面積 II | 未評分 |
§7.6 多維 DP
| 題目 | 難度分 |
|---|---|
| 2222. 選擇建築的方案數 | 1657 |
| 2826. 將三個組排序 | 1721 |
| 2400. 恰好移動 k 步到達某一位置的方法數目 | 1751 |
| 1262. 可被三整除的最大和 | 1762 |
| 3332. 旅客可以得到的最多點數 | 1828 |
| 3176. 求出最長好子序列 I | 1849 |
| 1269. 停在原地的方案數 | 1854 |
| 3250. 單調數組對的數目 I | 1898 |
| 3218. 切蛋糕的最小總開銷 I | 未評分 |
| 3122. 使矩陣滿足條件的最少操作次數 | 1905 |
| 576. 出界的路徑數 | 未評分 |
| 403. 青蛙過河 | 未評分 |
| 3725. 統計每一行選擇互質整數的方案數 | 1982 |
| 1223. 擲骰子模擬 | 2008 |
| 1320. 二指輸入的的最小距離 | 2028 |
| 3366. 最小數組和 | 2040 |
| 1575. 統計所有可行路徑 | 2055 |
| 3154. 到達第 K 級臺階的方案數 | 2071 |
| 2318. 不同骰子序列的數目 | 2090 |
| 3469. 移除所有數組元素的最小代價 | 2112 |
| 2746. 字符串連接刪減字母 | 2126 |
| 1444. 切披薩的方案數 | 2127 |
| 3320. 統計能獲勝的出招序列數 | 2153 |
| 3429. 粉刷房子 IV | 2166 |
| 2896. 執行操作使兩個字符串相等 | 2172 |
| 1420. 生成數組 | 2176 |
| 3193. 統計逆序對的數目 | 2266 |
| 1079. 活字印刷 | 未評分 |
| 1866. 恰有 K 根木棍可以看到的排列數目 | 2333 |
| 2312. 賣木頭塊 | 2363 |
| 3177. 求出最長好子序列 II | 2365 |
| 1884. 雞蛋掉落-兩枚雞蛋 | 未評分 |
| 887. 雞蛋掉落 | 2377 |
| 920. 播放列表的數量 | 2400 |
| 3336. 最大公約數相等的子序列數量 | 2403 |
| 1388. 3n 塊披薩 | 2410 |
| 903. DI 序列的有效排列 | 2433 |
| 1900. 最佳運動員的比拼回合 | 2455 |
| 1531. 壓縮字符串 II | 2576 |
| 1883. 準時抵達會議現場的最小跳過休息次數 | 2588 |
| 964. 表示數字的最少運算符 | 2594 |
| 3343. 統計平衡排列的數目 | 2615 |
| 1787. 使所有區間的異或結果為零 | 2640 |
| 3509. 最大化交錯和為 K 的子序列乘積 | 2703 |
| 3441. 變成好標題的最少代價 | 2765 |
| 3539. 魔法序列的數組乘積之和 | 2694 |
| 2060. 同源字符串檢測 | 2804 |
| 2809. 使數組和小於等於 x 的最少時間 | 2979 |
| 3003. 執行操作後的最大分割數量 | 3039 |
| 3225. 網格圖操作後的最大分數 | 3028 |
八、Interval DP
§8.1 Longest Palindromic Subsequence
| 題目 | 難度分 |
|---|---|
| 516. 最長迴文子序列 | 未評分 |
| 1312. 讓字符串成為迴文串的最少插入次數 | 1787 |
| 3472. 至多 K 次操作後的最長迴文子序列 | 1884 |
| 1771. 由子序列構造的最長迴文串的長度 | 2182 |
| 730. 統計不同迴文子序列 | 未評分 |
§8.2 Interval DP
| 題目 | 難度分 |
|---|---|
| 5. 最長迴文子串 | 未評分 |
| 647. 迴文子串 | 未評分 |
| 3040. 相同分數的最大操作數目 II | 1709 |
| 375. 猜數字大小 II | 未評分 |
| 1130. 葉值的最小代價生成樹 | 1919 |
| 96. 不同的二叉搜索樹 | 未評分 |
| 1770. 執行乘法運算的最大分數 | 2068 |
| 1547. 切棍子的最小成本 | 2116 |
| 1039. 多邊形三角剖分的最低得分 | 2130 |
| 1000. 合併石頭的最低成本 | 2423 |
| 2019. 解出數學表達式的學生分數 | 2584 |
| 3563. 移除相鄰字符後字典序最小的字符串 | 2585 |
| 3277. 查詢子數組最大異或值 | 2693 |
| 87. 擾亂字符串 | 未評分 |
| 312. 戳氣球 | 未評分 |
| 664. 奇怪的打印機 | 未評分 |
| 546. 移除盒子 | 未評分 |
九、Bitmask DP
§9.1 排列型Bitmask DP ① 相鄰無關
| 題目 | 難度分 |
|---|---|
| 526. 優美的排列 | 未評分 |
| 1799. N 次操作後的最大分數和 | 未評分 |
| 3533. 判斷連接可整除性 | 2257 |
| 3530. 有向無環圖中合法拓撲排序的最大利潤 | 2353 |
§9.2 排列型Bitmask DP ② 相鄰相關
| 題目 | 難度分 |
|---|---|
| 2741. 特別的排列 | 2021 |
| 996. 平方數組的數目 | 未評分 |
| 1681. 最小不兼容性 | 2390 |
| 3615. 圖中的最長迴文路徑 | 2463 |
| 3283. 吃掉所有兵需要的最多移動次數 | 2473 |
| 3149. 找出分數最低的排列 | 2642 |
§9.3 旅行商問題(TSP)
| 題目 | 難度分 |
|---|---|
| 943. 最短超級串 | 2186 |
§9.4 子集Bitmask DP
| 題目 | 難度分 |
|---|---|
| 2305. 公平分發餅乾 | 1887 |
| 1986. 完成任務的最少工作時間段 | 1995 |
| 3670. 沒有公共位的整數最大乘積 | 2234 |
| 1723. 完成所有工作的最短時間 | 2284 |
| 1655. 分配重複整數 | 2307 |
| 3444. 使數組包含目標值倍數的最少增量 | 2337 |
| 3575. 最大好子樹分數 | 2360 |
| 1681. 最小不兼容性 | 2390 |
| 2572. 無平方子集計數 | 2420 |
| 1994. 好子集的數目 | 2465 |
| 1494. 並行課程 II | 未評分 |
§9.5 輪廓線 DP
| 題目 | 難度分 |
|---|---|
| 1411. 給 N x 3 網格圖塗色的方案數 | 1845 |
| 1931. 用三種不同顏色為網格塗色 | 2170 |
| 1659. 最大化網格幸福感 | 2655 |
| 980. 不同路徑 III | 未評分 |
§9.6 SOS DP
| 題目 | 難度分 |
|---|---|
| 3670. 沒有公共位的整數最大乘積 | 2234 |
| 2044. 統計按位或能得到最大值的子集數目 | 未評分 |
| 2732. 找到矩陣中的好子集 | 未評分 |
| 3757. 有效子序列的數量 | 2519 |
§9.7 其他Bitmask DP
| 題目 | 難度分 |
|---|---|
| 473. 火柴拼正方形 | 未評分 |
| 698. 劃分為k個相等的子集 | 未評分 |
| 2002. 兩個迴文子序列長度的最大乘積 | 1869 |
| 1125. 最小的必要團隊 | 2251 |
| 1434. 每個人戴不同帽子的方案數 | 2273 |
| 464. 我能贏嗎 | 未評分 |
| 691. 貼紙拼詞 | 未評分 |
| 1815. 得到新鮮甜甜圈的最多組數 | 2559 |
十、Digit DP
§10.1 統計合法元素的數目
§10.2 統計合法元素的價值總和
| 題目 | 難度分 |
|---|---|
| 233. 數字 1 的個數 | 未評分 |
| 3753. 範圍內總波動值 II | 2297 |
§10.3 其他Digit DP
| 題目 | 難度分 |
|---|---|
| 3677. 統計二進制迴文數字的數目 | 2223 |
| 3348. 最小可整除數位乘積 II | 3101 |
十一、優化 DP
§11.1 Prefix Sum優化 DP
| 題目 | 難度分 |
|---|---|
| 1871. 跳躍遊戲 VII | 1896 |
| 2327. 知道秘密的人數 | 未評分 |
| 3699. 鋸齒形數組的總數 I | 2123 |
| 1997. 訪問完所有房間的第一天 | 2260 |
| 629. K 個逆序對數組 | 未評分 |
| 3193. 統計逆序對的數目 | 2266 |
| 3473. 長度至少為 M 的 K 個子數組之和 | 2274 |
| 3251. 單調數組對的數目 II | 2323 |
| 2478. 完美分割的方案數 | 2344 |
| 837. 新 21 點 | 2350 |
| 3077. K 個不相交子數組的最大能量值 | 2557 |
| 3333. 找到初始輸入字符串 II | 2629 |
| 2902. 和帶限制的子多重集合的數目 | 2759 |
| 1977. 劃分數字的方案數 | 2817 |
| 3130. 找出所有穩定的二進制數組 II | 2825 |
§11.2 Monotonic Stack優化 DP
| 題目 | 難度分 |
|---|---|
| 1335. 工作計劃的最低難度 | 2035 |
| 2866. 美麗塔 II | 2072 |
| 2617. 網格圖中最少訪問的格子數 | 2582 |
§11.3 Monotonic Queue優化 DP
| 題目 | 難度分 |
|---|---|
| 2944. 購買水果需要的最少金幣數 | 1709 |
| 1696. 跳躍遊戲 VI | 1954 |
| 1425. 帶限制的子序列和 | 2032 |
| 3578. 統計極差最大為 K 的分割方式數 | 2033 |
| 375. 猜數字大小 II | 未評分 |
| 1687. 從倉庫到碼頭運輸箱子 | 2610 |
| 2463. 最小移動總距離 | 未評分 |
| 2945. 找到最大非遞減數組的長度 | 2943 |
§11.4 Fenwick Tree/Segment Tree優化 DP
| 題目 | 難度分 |
|---|---|
| 1626. 無矛盾的最佳球隊 | 2027 |
| 2407. 最長遞增子序列 II | 2280 |
| 2770. 達到末尾下標所需的最大跳躍次數 | 未評分 |
| 2926. 平衡子序列的最大和 | 2448 |
| 2547. 拆分數組的最小代價 | 未評分 |
| 3671. 子序列美麗值求和 | 2647 |
| 2916. 子數組不同元素數目的平方和 II | 2816 |
§11.5 Trie優化 DP
| 題目 | 難度分 |
|---|---|
| 139. 單詞拆分 | 未評分 |
| 2707. 字符串中的額外字符 | 未評分 |
| 472. 連接詞 | 2300 |
§11.6 矩陣快速冪優化 DP
| 題目 | 難度分 |
|---|---|
| 70. 爬樓梯 | 未評分 |
| 509. 斐波那契數 | 未評分 |
| 1137. 第 N 個泰波那契數 | 未評分 |
| 1220. 統計元音字母序列的數目 | 未評分 |
| 552. 學生出勤記錄 II | 未評分 |
| 935. 騎士撥號器 | 未評分 |
| 790. 多米諾和托米諾平鋪 | 未評分 |
| 1411. 給 N x 3 網格圖塗色的方案數 | 未評分 |
| 1931. 用三種不同顏色為網格塗色 | 未評分 |
| 3337. 字符串轉換後的長度 II | 2412 |
| 3700. 鋸齒形數組的總數 II | 2435 |
| 2851. 字符串轉換 | 2858 |
§11.7 Convex Hull Trick DP
| 題目 | 難度分 |
|---|---|
| 3494. 釀造藥水需要的最少總時間 | 未評分 |
| 3500. 將數組分割為子數組的最小代價 | 未評分 |
| 3693. 爬樓梯 II | 未評分 |
§11.8 WQS 二分優化 DP
| 題目 | 難度分 |
|---|---|
| 188. 買賣股票的最佳時機 IV | 未評分 |
| 3573. 買賣股票的最佳時機 V | 未評分 |
| 2209. 用地毯覆蓋後的最少白色磚塊 | 未評分 |
| 3743. 循環劃分的最大得分 | 未評分 |
§11.9 其他優化 DP
十二、Tree DP
§12.1 樹的直徑
| 題目 | 難度分 |
|---|---|
| 543. 二叉樹的直徑 | 未評分 |
| 687. 最長同值路徑 | 未評分 |
| 124. 二叉樹中的最大路徑和 | 未評分 |
| 2385. 感染二叉樹需要的總時間 | 1711 |
| 2246. 相鄰字符不同的最長路徑 | 2126 |
| 3203. 合併兩棵樹後的最小直徑 | 2266 |
| 1617. 統計子樹中城市之間最大距離 | 2309 |
| 2538. 最大價值和與最小價值和的差值 | 2398 |
| 3372. 連接兩棵樹後最大目標節點數目 I | 未評分 |
§12.2 樹上最大獨立集
| 題目 | 難度分 |
|---|---|
| 337. 打家劫舍 III | 未評分 |
| 2646. 最小化旅行的價格總和 | 2238 |
| 3544. 子樹反轉和 | 2545 |
§12.3 樹上最小支配集
| 題目 | 難度分 |
|---|---|
| 968. 監控二叉樹 | 2124 |
§12.4 Rerooting Tree DP
| 題目 | 難度分 |
|---|---|
| 834. 樹中距離之和 | 2197 |
| 2581. 統計可能的樹根數目 | 2228 |
| 2858. 可以到達每一個節點的最少邊反轉次數 | 2295 |
| 310. 最小高度樹 | 未評分 |
| 3241. 標記所有節點需要的時間 | 2522 |
| 3372. 連接兩棵樹後最大目標節點數目 I | 未評分 |
§12.5 其他Tree DP
| 題目 | 難度分 |
|---|---|
| 2925. 在樹上執行操作以後得到的最大分數 | 1940 |
| 3068. 最大節點價值之和 | 2268 |
| 2920. 收集所有金幣可獲得的最大積分 | 2351 |
| 3575. 最大好子樹分數 | 2360 |
| 3562. 折扣價交易股票的最大利潤 | 2458 |
| 1916. 統計為蟻群構築房間的不同順序 | 2486 |
| 3367. 移除邊之後的權重最大和 | 2602 |
十三、Graph DP
十三、Graph DP
| 題目 | 難度分 |
|---|---|
| 3543. K 條邊路徑的最大邊權和 | 2110 |
| 913. 貓和老鼠 | 2800 |
| 1728. 貓和老鼠 II | 2849 |
十四、博弈 DP
十四、博弈 DP
| 題目 | 難度分 |
|---|---|
| 1025. 除數博弈 | 1435 |
| 877. 石子遊戲 | 1590 |
| 486. 預測贏家 | 未評分 |
| 1510. 石子遊戲 IV | 1787 |
| 1690. 石子遊戲 VII | 1951 |
| 1406. 石子遊戲 III | 2027 |
| 1140. 石子遊戲 II | 2035 |
| 1563. 石子遊戲 V | 2087 |
| 464. 我能贏嗎 | 未評分 |
| 1872. 石子遊戲 VIII | 2440 |
| 913. 貓和老鼠 | 2800 |
| 1728. 貓和老鼠 II | 2849 |
十五、機率/期望 DP
十五、機率/期望 DP
| 題目 | 難度分 |
|---|---|
| 688. 騎士在棋盤上的概率 | 未評分 |
| 837. 新 21 點 | 2350 |
| 1467. 兩個盒子中球的顏色數相同的概率 | 2357 |
| 808. 分湯 | 2397 |
專題:輸出具體方案(打印方案)
專題:輸出具體方案(打印方案)
| 題目 | 難度分 |
|---|---|
| 368. 最大整除子集 | 未評分 |
| 1363. 形成三的最大倍數 | 1823 |
| 1449. 數位成本和為目標值的最大數字 | 1927 |
| 1092. 最短公共超序列 | 1977 |
| 943. 最短超級串 | 2186 |
| 1125. 最小的必要團隊 | 2251 |
| 3533. 判斷連接可整除性 | 2257 |
| 3260. 找出最大的 N 位 K 迴文數 | 2370 |
| 3149. 找出分數最低的排列 | 2642 |
| 3441. 變成好標題的最少代價 | 2765 |
| 3348. 最小可整除數位乘積 II | 3101 |
專題:前後綴分解
專題:前後綴分解
專題:把 X 變成 Y
專題:把 X 變成 Y
| 題目 | 難度分 |
|---|---|
| 397. 整數替換 | 未評分 |
| 2998. 使 X 和 Y 相等的最少操作次數 | 1795 |
| 2059. 轉化數字的最小運算數 | 1850 |
| 991. 壞了的計算器 | 1909 |
| 1553. 吃掉 N 個橘子的最少天數 | 2048 |
專題:跳躍遊戲
專題:跳躍遊戲
| 題目 | 難度分 |
|---|---|
| 2770. 達到末尾下標所需的最大跳躍次數 | 1533 |
| 403. 青蛙過河 | 未評分 |
| 1340. 跳躍遊戲 V | 1866 |
| 1871. 跳躍遊戲 VII | 1896 |
| 1696. 跳躍遊戲 VI | 1954 |
| 975. 奇偶跳 | 2079 |
| 1654. 到家的最少跳躍次數 | 2124 |
其他
雜項
| 題目 | 難度分 |
|---|---|
| 1387. 將整數按權重排序 | 1507 |
| 823. 帶因子的二叉樹 | 1900 |
| 756. 金字塔轉換矩陣 | 1990 |
| 2930. 重新排列後包含指定子字符串的字符串數目 | 2227 |
| 1896. 反轉表達式值的最少操作次數 | 2532 |
這是階段二的第三份題單;多重背包與樹上背包兩個小節標為選做,留在進階題單裡,路線會繼續沿著核心章節前進。
難度分數來自 zerotrac 的 LeetCode 競賽評分。部分題目沒有 zerotrac 分數,會標示為「未評分」。
進入書房