[BZOJ 1057][ZJOI 2007] 棋盤制作:最大全 0/1 子矩陣(正方形/矩形)
問題描述 給定 0/1 矩陣,經預處理後轉化為尋找最大全 0 或全 1 子矩陣。要求輸出最大正方形面積與最大矩形面積。 巧妙預處理 棋盤特性:黑格行列奇偶性相
POJ 3661 Running:DP 求固定疲勞度下的最大跑步距離
問題描述 直線運動 n 分鐘,第 i 分鐘可跑 a[i] 距離。每分鐘選跑或休息。疲勞度初始 0,跑 +1(上限 m),休息 -1(下限 0)。第 n 分鐘疲勞
MATLAB 中 .mat 與 .txt 文件相互轉換完整指南
1. 直接將數據保存為 .txt fclose(fid); 2. .mat 文件轉 .txt save b.txt -ASCII a; -ASCII 以文
HDU 3594 Cactus:強連通分量 + 環計數判斷仙人掌圖
問題描述 判斷有向圖是否為仙人掌:1) 強連通;2) 每條邊屬於且僅屬於一個簡單環。 Tarjan 算法 + 環計數 1 則不強連通,輸出 NO。 在單個
LeetCode 83. Remove Duplicates from Sorted List:刪除有序鏈表重複節點
問題描述 給定已排序鏈表,刪除重複節點使每個值只出現一次。例:2 → 2;3 → 3。 算法邏輯 雙指針 first、second 遍歷: first 指向
HDU 5067:狀態壓縮 DP / DFS 求收集數字最少步數
問題描述 n×m 方格,≤10 個格子有數字。需將所有數字移動到左上角 (1,1),每步移動一格(曼哈頓距離),可無限疊加。求最少總步數。 方法一:DFS 全
[BZOJ 1047][HAOI 2007] 理想的正方形:二維滑動窗口 + 單調隊列
問題描述 給定 a×b 矩陣,找 n×n 子矩陣,使其最大值與最小值之差最小。輸出該最小差值。 算法思路:二維滑動窗口 將二維問題分解為兩次一維滑動窗口:
Dijkstra 算法詳解:鄰接矩陣實現與鬆弛操作
算法思想 單源最短路,貪心策略:每次選距離源點最近的未確定頂點加入集合 S,以此頂點為中心鬆弛所有出邊。時間 O(n²),不適用於負權邊。 基本步驟 初始化
HDU 45221 小明序列:線段樹優化 DP 求最長受限上升子序列
問題描述 序列 S 長度 n,找最長子序列 Sub 滿足: 1. 嚴格遞增:Sub[i] < Sub[i+1]; d: d。 輸出最大長度 m。 DP 狀態與
UVA 11021 Tribles:概率 DP 遞推求滅絕概率
問題描述 初始 k 個生物,每天每個生物:死亡(概率 p0)、產生 1 個(p1)、產生 2 個(p2)... 產生 n-1 個(p_{n-1})。求 m 天后
LeetCode 48. Rotate Image:原地旋轉矩陣 90 度
問題描述 給定 n×n 矩陣,原地順時針旋轉 90 度。 方法一:分層旋轉(模擬) 從外層到內層,每層四邊元素循環交換: void rotate(vector
BZOJ 3040 最短路:堆優化 Dijkstra 模板詳解
問題描述 標準單源最短路問題,邊權非負,需堆優化 Dijkstra 通過大數據範圍。 堆優化核心結構 1 && f[num[p]] = 1;
LeetCode 3. Longest Substring Without Repeating Characters:滑動窗口 O(n) 解法
問題描述 給定字符串,找出不含重複字符的最長子串長度。例:abcabcbb → abc 長度 3;bbbbb → b 長度 1。 暴力法(超時) 雙重循環枚舉
Codeforces Round #281 (Div. 2) 解題報告:A/B/C/D 四題全解析
A. Vasya and Football(模擬) 模擬足球比賽黃/紅牌邏輯。記錄每位球員犯規次數,黃牌 1 分,紅牌 2 分,累積 ≥2 罰下。需處理同一球員
UVA 12186 Another Crisis:樹形 DP 求最少請願工人數
問題重述 公司層級結構為樹(根節點 0 為老闆),員工 1..N。葉節點為工人,非葉為管理者。工人可向直屬上司請願。當某管理者的直屬下屬中至少 T% 請願時,該