HDU 1272 小希的迷宮:並查集判斷樹結構
題目重述 給定若干條雙向邊(房間連接),判斷圖是否為一棵**樹**:連通且無環。輸入以 0 0 結束一組測試,-1 -1 結束文件。房間編號 ≤ 100,000
LeetCode Binary Tree Maximum Path Sum 二叉樹最大路徑和
題目描述 給定一棵二叉樹,找出任意兩節點間路徑的最大節點值之和。路徑至少包含一個節點,不一定經過根節點。 核心思路:後序遞歸 + 全局最大值維護 對每個節點
POJ 3190 Stall Reservations 區間調度與最小資源分配
問題模型 N (≤ 50,000) 頭牛,每頭有專屬擠奶區間 [A, B](含端點)。同一欄位同一時間只能容納一頭牛。求最少欄位數,並輸出每頭牛的欄位分配方案(
POJ 1700 Crossing River 貪心策略最小化過河總時間
題目重述 N 人需過河,唯一小船每次最多載 2 人,划槳速度以較慢者為準。求所有人過河的最短總時間。 貪心核心:兩種送最慢者過河的方案 排序後設 a[0] ≤
UVA 1347 / POJ 2677 雙調歐幾里得旅行商問題詳解
問題描述 給定平面上 n 個互異 x 座標的點,需從最左端點出發,嚴格左往右走到最右端點,再嚴格右往左回到起點,形成閉合迴路。求最短迴路長度(保留兩位小數)。
POJ 3280 區間動態規劃:最小成本構建回文串
題目大意 給定一個字串,允許插入或刪除字符,目標是將其轉換為回文串。每個字符的插入成本與刪除成本可能不同,實際操作時取兩者中的較小值。求達成目標所需的最小總成本
UVA 10635 Prince and Princess:LIS 求最長公共子序列
題目背景 王子和公主在 n×n 方格中從 1 走到 n²,給出兩人的路徑序列,求兩條路徑的最長公共子序列(LCS)長度。n ≤ 250,序列長度最多 62500
HDU 2647 Reward:拓撲排序求最小獎金總和
題目大意 工廠老闆要給 n 名員工發年終獎,每人至少 888 元。另有 m 個需求 (a, b) 表示 a 的獎金必須多於 b。求滿足所有條件下的最小總獎金,若
POJ 3164 Command Network 與 UVA 11183 Teen Girl Squad:最小樹形圖算法詳解
最小樹形圖(Minimum Arborescence)核心概念 最小樹形圖是有向圖中從指定根節點出發,能到達所有節點的最小成本有向生成樹。求解步驟如下: 對每
C++ 獲取函數列表的工程化實踐:從正則匹配到 Clang LibTooling
背景與痛點 在代碼覆蓋率工具開發中,需解析 C++ 源文件提取所有函數定義(用於插桩)。初期採用「括號匹配 + 關鍵字識別」的手寫解析器,隨項目深入暴露嚴重問題
CSUOJ 1601 War:離線並查集動態維護連通塊數
題目大意 N (≤ 100,000) 個村莊,M (≤ 100,000) 條路。Q (≤ M) 條路按給定順序被摧毀。每摧毀一條後,輸出當前連通塊(駐軍區)數量
HDU 1180 詭異的樓梯:BFS 搜索最短時間
題目大意 M×N (≤ 25) 迷宮,字符: . 路、* 牆、S 起點、T 終點、- 橫向樓梯、| 縱向樓梯。 樓梯行為: - 偶數時間:- 水平移動,| 垂直
HDU 5115 Dire Wolf:區間 DP 消滅狼群最小代價
題目大意 一排 n (≤ 200) 隻狼,第 i 隻有攻擊力 a[i]、防禦力 b[i]。每次選一隻狼消滅,代價 = 其攻擊力 + 左右相鄰存活狼的防禦力(邊界
POJ 1733 Parity Game:帶權並查集 + 離散化
題目大意 有 n (≤ 10¹⁰) 個節點,q (≤ 10000) 條約束:區間 [a, b] 的和為奇/偶。按順序加入約束,求最長前綴長度 x 使前 x 條約
UVa 2038 Strategic Game:樹上最小頂點覆蓋 = 最大匹配 / 2
題目大意 給一棵樹(n ≤ 1500 節點),邊以鄰接表形式輸入(每行:節點:(度數) 相鄰節點...)。選最少節點放置士兵,使得**每條邊至少一個端點有士兵*
UVa 1640:區間數字頻率統計(數位DP思路)
題目大意 給兩個整數 a, b (a ≤ b),統計區間 [a, b] 中每個十進制數字 0~9 出現的總次數。例如 1024 到 1032,共 10 個數,0