POJ 2723 Get Luffy Out 二分答案+2-SAT判定
問題描述 有 N 對鑰匙(共 2N 把),每對中使用一把另一把消失。有 M 扇門,每扇門有兩把鎖,打開任意一把即可通過。門按順序排列。選擇 N 把鑰匙(每對選一
HDU 5353 Average 環上糖果均分貪心+枚舉斷點
問題描述 n 個人圍成一圈,第 i 人有 a[i] 顆糖果。相鄰兩人之間可進行一次操作:左給右、右給左、或不操作。問能否通過操作使所有人糖果數相等,若能輸出操作
POJ 3667 Hotel 線段樹區間合併維護最大連續空房間
問題描述 賓館有 n 個房間,支持兩種操作: 1 d:查詢最左邊的連續 d 個空房間的起始位置 2 x d:將從 x 開始的連續 d 個房間標記為空閒 線段樹
POJ 1741 Tree 樹上點對距離≤K計數 樹分治法
問題描述 給定一棵 n 個節點的樹(n ≤ 10,000),邊有權重。求節點對 (u, v) 使得 u 和 v 間距離 ≤ K 的數量。 樹分治核心思想 選擇
HDU 2120 Ice_cream's World I 並查集計數環
問題描述 給定 N 個瞭望塔(節點)和 M 條圍牆(邊),圍牆將土地分割成若干塊。每塊被圍牆包圍的土地只能分給一個 ACMer。求最多能分給多少個 ACMer,
Codeforces Round #Pi (Div. 2) A/B/C/D 四題完整解析
A. Lineland Mail 問題:n 個城市位於數軸上,坐標遞增。對每個城市,求到其他城市的最小和最大距離。 解法:城市已排序。第 i 個城市: 最小距離
HDU 1394 環狀序列最小逆序數 BIT解法
問題描述 給定長度為 n 的排列(元素為 0 到 n-1),視為環狀序列。共有 n 個長度為 n 的線性序列(每個元素作為起點一次)。求這 n 個序列中的最小逆
HDU 1863 暢通工程 最小生成樹解法
問題描述 給定 M 個村莊(節點)和 N 條可能建設的道路(邊),每條道路有建設成本。要求選擇若干條道路使所有村莊連通,且總成本最小。若無法連通所有村莊,輸出
HDU 2199 方程求解 二分法詳解
問題描述 給定多項式方程 8x⁴ + 7x³ + 2x² + 3x + 6 = Y,要求在區間 [0, 100] 內求解 x,精度要求小數點後 4 位。若無解則
HDU 1532 Drainage Ditches 最大流增廣路算法詳解
問題描述 給定一個有向圖,每條邊有容量上限。求從源點(1號節點)到匯點(N號節點)的最大流量。這是經典的最大流問題,可用 Ford-Fulkerson 增廣路算
Codeforces Round #315 (Div. 2) C. Primes or Palindromes? 解題詳解
問題描述 給定兩個整數 p 和 q,令 A = p/q(其中 A ≤ 42)。定義 π(n) 為不超過 n 的質數個數,rub(n) 為不超過 n 的回文數個數
HDOJ 5375 Gray Code DP:狀態轉移詳解
DP 狀態定義 dp[i][0]:前 `i` 位,第 `i` 位二進制為 `0` 的最大分數。 dp[i][1]:前 `i` 位,第 `i` 位二進制為 `1`
HDU 5375 Gray Code:格雷碼動態規劃 / 貪心優化
題目大意 給定長度 `n` 的字符串,含 `0` `1` `?`(`?` 可替換為 0/1)。 對應二進制數轉格雷碼:`g[1]=b[1]`,`g[i]=b[
POJ 1251 Jungle Roads:最小生成樹 Kruskal 模板
題目大意 村莊標號 A..I(≤ 26),道路帶維護成本。 輸入格式:每行 `V k U1 C1 U2 C2 ...` 表示從 V 到後續字母村莊的道路。 求
UVA 674 Coin Change:完全背包求硬幣組合數
題目大意 硬幣面值:1, 5, 10, 25, 50 美分。 查詢金額 `n ≤ 7489`,求組合數(順序不重要,每種硬幣無限用)。 多查詢,以 EOF 結
LeetCode 222 Count Complete Tree Nodes:利用完全二叉樹性質 O(log²n) 計數
題目大意 給定完全二叉樹根節點,求節點總數。完全二叉樹:除最後一層外滿,最後一層靠左排列。 核心思路 計算左子樹高度 `lh`(沿左孩子一直走)和右子樹高度
HDU 3746 Cyclic Necklace:KMP 求最小循環節補齊
題目大意 字符串 `S`(長度 `L ≤ 1e5`),只能在**左右兩端**添加字符。 目標:使結果字符串由 ≥2 個相同子串拼接而成(即存在長度 `t` 的