POJ 1050:二維最大子矩陣和 DP 優化 O(n³) 解法
問題描述 N×N 矩陣(N≤100),尋找任意子矩陣(連續行、連續列)使元素和最大。輸出最大和。 算法思路:枚舉上下邊界 + 一維最大子段和 預計算列前綴和
POJ 3009 Curling 2.0:DFS 模擬冰壺滑動與撞擊
問題描述 20×20 棋盤,0=空地,1=石頭,2=起點,3=終點。冰壺從起點出發,選一方向滑動,遇石頭停在石頭前一格並移除該石頭,遇終點停下結束。最多 10
POJ 1195 Mobile Phones:二維樹狀數組支持矩陣區間增查
問題描述 S×S 矩陣(S≤1024),初始全 0。操作: 1 x y a:mat[x][y] += a(a 可負,保證不低於 0)。 2 x1 y1 x2
POJ 3660 Cow Contest:並查集 + 拓撲排序判斷可確定排名的牛
問題描述 C)。求能唯一確定排名的牛的數量(即與其他所有 N-1 頭牛關系均已知)。 解題思路 連通性檢查:若圖不連通(存在孤立分量),則無牛能被唯一確定,
POJ 3903 Stock Exchange:LIS 模板題 O(n log n) 解法詳解
問題描述 求最長遞增子序列(LIS)長度。N ≤ 100000,需 O(n log n) 算法。與 POJ 2533 同模型。 經典 O(n log n) 算
POJ 2352 Stars:樹狀數組解決二維偏序統計
問題描述 N 個點(星星),座標 (X,Y),0≤X,Y≤32000。點按 Y 升序輸入,Y 相同時按 X 升序。定義點的「等級」為:左下方(X≤X 且 Y≤Y
ZOJ 3326 An Awful Problem:素數日期區間計數模擬
問題描述 給定日期區間 [y1 m1 d1, y2 m2 d2],計算區間內「月份是素數 且 日期是素數」的天數。年份 1000~2999,含閏年規則。 關鍵
HDU 4652 Dice:概率 DP 推導骰子期望投擲次數
問題描述 M 面骰子(面值互不相同),每面等概率。兩類查詢: 0 m n:期望投擲次數,直到最近 n 次結果全相同。 1 m n:期望投擲次數,直到最近 n
HDU 3450:樹狀數組優化 DP 解相鄰差值受限子序列計數
問題描述 給定序列 a[1..n],求滿足 |a[i] - a[j]| ≤ d 的非空子序列個數(模 9901)。子序列不要求連續,但下標遞增。n 未給上限,值
HDU 4336 Card Collector:概率 DP + 狀態壓縮求期望收集時間
問題描述 N 種卡片(N ≤ 20),每包零食隨機含一張卡片,第 i 種概率 p_i,也可能無卡片(∑p_i ≤ 1)。求集齊所有 N 種卡片的期望購買包數。
HDU 4753 九宮格遊戲:狀態壓縮 DP + 記憶化搜索解博弈問題
遊戲規則 3×3 點陣(9 個格子,24 條邊)。兩人輪流加邊,加邊後若形成新的 1×1 正方形(四條邊全有),得相應分數(1 或 2 分)。已走 n 步,To
POJ 3723 Conscription:最大生成樹模板題詳解
問題背景 有 n 男 m 女,每個人有戰力值。選擇若干男女配對,每人最多屬於一對,目標最大化配對雙方戰力之和。等價於在二分圖中求最大權匹配,但本題特殊:可構造完
FZU 2136 糖果袋子:RMQ + 二分 + 線段樹維護區間最小值
問題重述 N 個袋子排成一排,第 i 個袋子有 a[i] 顆糖果。對於每個窗口長度 x (1≤x≤N),考慮所有長度為 x 的連續子區間,取區間最大值,再取所有
HDU 1251 字典樹(Trie)應用:統計公共前綴單詞數量
題目大意 輸入一組單詞表(以空行結束),隨後多行查詢字符串。對每個查詢,輸出單詞表中以該字符串為前綴的單詞數量(單詞本身算作自己的前綴)。單詞僅含小寫字母,長度
Practical Vim Tip 98:用 :global 和 :delete 快速篩選文件行
核心命令 :global/{pattern}/delete — 刪除所有匹配行 :vglobal/{pattern}/delete(縮寫 :v/{patter
POJ 2537 Tight Words:概率 DP 避免精度溢出的狀態壓縮技巧
問題描述 長度為 n 的序列,每位取值 0~k。相鄰兩位差值 ≤ 1。求滿足條件的序列佔所有 (k+1)^n 序列的比例(概率)。 從計數 DP 到概率 DP
LeetCode 203 Remove Linked List Elements:刪除指定值節點的邊界處理藝術
題目 刪除鏈表中所有值等於 val 的節點。返回新頭指針。 5 核心難點 頭節點可能被刪除,需更新頭指針。 連續多個目標值節點。 釋放內存避免洩漏(C/C