AtCoder 🔵 ABC381F 1122 Subsequence
在值域僅 20 的條件下,用子集 DP 記錄形成合法 1122 子序列後的最早結尾位置,求可選數字種類數上限。
AtCoder 🔵 ABC457F Second Gap
從後綴最大與次大的位置關係建立 DP,利用懶線段樹或全域乘法標記加速轉移。
AtCoder 🔵 ABC457G Catch All Apples
將可接續關係轉成偏序,利用最長下降子序列求最少人數。
AtCoder 🔵 ABC438F Sum of Mex
求所有樹上路徑未包含點號 mex 的總和,將式子變換後,轉化為從小到大依序加入點的問題。
AtCoder 🔵 ABC410G Longest Chord Chain
在圓上保留一組互不相交弦,再加一條弦使交點數最大;破環成鏈後可以轉換成二維 LIS 問題。
AtCoder 🔵 ABC428F Pyramid Alignment
運用區間始終保持巢狀的性質,轉換對齊操作為延遲標記,並以線段樹上二分搜 max_right 找出覆蓋點的區間後綴。
AtCoder 🔵 ABC435F Cat exercise
分治選左右最大值,貪心取最大收益
AtCoder 🔵 AISING2020E Camel Train
有 N 隻駱駝排成一列,若在前 K_i 個位置則幸福值為 L_i,否則為 R_i。透過交換論證將駱駝分為偏好前方與偏好後方兩組,再以反悔貪心(最小堆積)決定選取哪些差值,最大化總幸福值。
AtCoder 🔵 ABC389F Rated Range
有 N 場比賽,rating 在 [L_i, R_i] 內則 +1。Q 筆查詢初始 rating X 的最終值。利用 f(j) 的單調性搭配懶標記線段樹做區間加法與二分定位,O((N+Q) log X)。
AtCoder 🔵 ABC389E Square Price
有 N 種產品,購買 k 單位第 i 種產品花費 k²×P_i,總預算 M,求最多可購買的總單位數。關鍵在於將非線性定價轉為邊際成本,利用單調性進行二分答案。
AtCoder 🔵 ABC388F Dangerous Sugoroku
判斷是否能避開禁止區間抵達終點;以布林 DP 表示可達性,利用矩陣快速冪批次跳過連續好格與壞格。
AtCoder 🔵 ABC388G Simultaneous Kagamimochi 2
對每個區間求最多可同時配成幾組鏡餅,預處理每個小餅所需的大餅位置,配合線段樹與二分答案查詢。













