LeetCode 🔴 3806. Maximum Bitwise AND After Increment Operations
給定加一操作次數上限,最大化任選 m 個數的 AND;從高位到低位試填答案,計算每個數補齊目標位元的最小成本。
AtCoder 🌈 AWC0096E Mountain Range Vista
把可見條件轉成左側第一座更高山是否落在區間外,再離線用樹狀陣列回答。
AtCoder 🌈 AWC0096D Hiking and Rest
用狀態機 DP 維護纜車尚未使用與已使用時的最小可能高度,每段後嘗試立刻使用纜車。
AtCoder 🌈 AWC0096C Watering the Flower Bed
將目標差值視為每段還需增加的水量,由左到右用差分維護固定長度區間加法。
AtCoder 🌈 AWC0096B Adventurer's Staircase
把開局強化量視為固定增量,逐層計算戰鬥力缺口,答案是所有缺口的最大值。
AtCoder 🌈 AWC0096A Closing Time of the Reception Window
依序模擬單一窗口服務,每位訪客開始時間取到達時間與窗口空閒時間的較大值。
Luogu 🟣 P4062 [Code+#1] Yazid 的新生舞会
用根號分治按出現次數拆分元素,分別計算重元素與輕元素作為嚴格過半眾數的子區間數量。
LeetCode 🔴 3739. Count Subarrays With Majority Element II
將 target 轉成 +1、其他元素轉成 -1,問題變成統計前綴和遞增配對。
LeetCode 🟡 3737. Count Subarrays With Majority Element I
將 target 視為 +1、其他元素視為 -1,用前綴和枚舉子陣列並判斷多數元素。
LeetCode 🔴 3700. Number of ZigZag Arrays II
給定 n, l, r,計算值域 [l, r]、長度 n 的 ZigZag 陣列數;核心為將交替升降 DP 轉成固定線性變換後用矩陣快速冪加速。
LeetCode 🔴 3699. Number of ZigZag Arrays I
給定 n, l, r,計算長度 n、值域 [l, r]、任三連續元素不成嚴格單調的 ZigZag 陣列數。核心為 DP 狀態機搭配前綴和優化,利用對稱性簡化至單一狀態陣列。
AtCoder 🟢 ARC146B Plus and AND
給定加一操作次數上限,最大化選出 K 個數的 AND;從高位到低位試填答案,計算每個數補齊目標位元的最小成本。
Luogu 🟣 P6047 丝之割
刪除被支配的弦後得到雙座標遞增序列,將分段刪除代價化為前綴/後綴最小值乘積,再用 CHT 優化 DP。
Luogu 🟣 P3195 [HNOI2008] 玩具装箱
劃分型 DP。將最後一箱的二次代價展開成內積最小化,用下凸包維護候選決策。
LeetCode 🔴 3826. Minimum Partition Score
劃分型 DP + 斜率優化(凸包優化)。將轉移方程化為內積形式,用下凸包維護候選點,二分查詢最優決策;再利用查詢向量的單調性,用單調隊列取代二分,達到 O(kn)。



![Luogu 🟣 P4062 [Code+#1] Yazid 的新生舞会](https://i.pixiv.cat/img-master/img/2026/04/13/04/07/06/143491427_p2_master1200.jpg)



![Luogu 🟣 P3195 [HNOI2008] 玩具装箱](https://i.gdst.dev/cover/P3195.webp)
