HDU 1241:Oil Deposits DFS/BFS 求連通分量數
問題描述 m×n 網格 (≤100),@ 表示油點,* 表示無油。八連通(含對角線)相鄰的油點屬於同一油田。求油田數量。 DFS 遞歸實現 void dfs(
HDU 1242:Rescue BFS 最短路含殺守衛代價
問題描述 N×M 迷宮 (≤200) ,字符: . 路,移動 1 時間 # 牆,不可通行 x 守衛,進入需殺守衛 +1 時間(共 2 時間) a 天使(目標)
HDU 4670:Cube number on a tree 樹上點分治 + 數論狀態壓縮
問題描述 樹上每節點有一個權值(≤10¹⁸)。給定 k 個質因子 p₁..pₖ (k≤32)。路徑權值定義為路徑上所有節點權值乘積。若乘積中每個 pᵢ 的指數均
POJ 2774:Long Long Message 後綴數組求兩字符串最長公共子串
問題描述 給定兩字符串 A、B(總長 ≤ 200000),求最長公共子串長度。即在 A 和 B 中都出現的最長連續子串。 後綴數組統一處理 拼接:S = A
POJ 1247:The Perfect Stall 二分匹配 / 最大流模板
問題描述 N 頭牛,M 個牛棟。每頭牛願意住的牛棟列表。每牛棟限住一頭牛,每牛限住一棟。求最大匹配數。N,M ≤ 200。 最大流建模 源點 S → 牛 (
ZOJ 3195:Design the City LCA 轉 RMQ 求三點最短距離
問題描述 給定 n 點樹(邊帶權),m 次查詢:三點 u,v,w 兩兩距離之和的最小值(即找一個會合點使三點距離和最小)。等價於 dist(u,v)+dist(
strcpy / memcpy / memmove 內存重疊深度分析與實現
strcpy 標準庫實現(簡化): char* strcpy(char* dest, const char* src) { char* ret = de
HDU 4679:Terrorist's destroy 樹形 DP 求刪邊後最大直徑最小化
問題描述 給定帶權樹 (n≤10⁵),刪除一條邊分成兩棵子樹。代價 = 該邊權重 × max(兩子樹直徑)。求最小代價對應的邊編號(多解取最小編號)。 解題策
HDU 3954:Level up 線段樹維護經驗值與等級
問題描述 N 個英雄,初始等級 1,經驗 0。M 次操作: W L R E:區間 [L,R] 英雄各獲得經驗 E * 當前等級。經驗達到升級閾值立即升級(等級
POJ 2114:Boatherds 樹上點分治判斷路徑長度是否存在
問題描述 給定帶權樹 (n≤10000),多次查詢:是否存在長度恰為 K 的簡單路徑。輸出 AYE 或 NAY。 點分治核心思想 找樹的重心(刪除後最大子樹
POJ 1743:Musical Theme 後綴數組 + 二分求最長不重疊重複子串
問題描述 給定 n (≤20000) 個整數,取相鄰差值得長度 n-1 的序列。視為字符串,求最長重複子串長度,要求兩次出現不重疊。若長度 < 5 輸出 0。
POJ 1904 / HDU 4685:King's Quest 強連通分量求可選配對
問題背景 兩道題本質相同:N 王子、M 公主,王子有喜歡的公主列表。已知一種完美匹配(POJ 1904 N=M;HDU 4685 允許不匹配,需補虛擬節點)。求
POJ 2689:Prime Distance 區間篩法找相鄰素數
問題描述 給定區間 [L, R] (R-L ≤ 10⁶, R ≤ 2³¹-1),找出區間內相鄰素數差值的最大值與最小值,並輸出對應的素數對。若素數少於 2 個,
POJ 3468:伸展樹區間加/區間和模板
問題描述 維護長度 n (≤10⁵) 的序列,支持 m (≤10⁵) 次操作: Q l r:查詢區間 [l,r] 和 C l r v:區間 [l,r] 每個元
HDU 4675:GCD of Sequence 組合數學 + 費馬小定理 + 容斥
問題描述 給定 n 個數(每個 1~m),再給 k。考慮所有長度為 n 的序列,其中恰好 k 個數互不相同,其餘 n-k 個數與這 k 個數中的某些相同。對每個
HDU 4565:So Easy! 矩陣快速冪求線性遞推
問題描述 給定 a, b, n, m,定義序列: s(0) = 2 s(1) = 2a s(n) = 2a·s(n-1) + (b-a²)·s(n-2) (
POJ 1325:Machine Schedule 二分圖最小點覆蓋 / 最大流
問題描述 有 n 台 A 機器、m 台 B 機器,k 個任務。任務 i 可在 A 的模式 x 或 B 的模式 y 執行。機器初始模式為 0,切換模式需重啟(成本
POJ 2282:The Counting Problem 數位 DP 計數區間數字出現次數
問題描述 給定多組區間 [a, b] (0 < a,b < 10⁸),統計區間內所有整數十進制表示中數字 0~9 各自出現的總次數。輸入以 0 0 結束。 數