LightOJ 1013 Love Calculator:最短公共超序列長度與計數 DP
LightOJ 1013 Love Calculator:最短公共超序列長度與計數 DP 給兩個大寫字母串 A、B(長≤30)。求:包含 A、B 為子序列的最短
LeetCode Binary Tree Level Order Traversal:標準層序遍歷 BFS
LeetCode Binary Tree Level Order Traversal:標準層序遍歷 BFS 給定二叉樹,返回自頂向下的層序遍歷(每層左到右)。
HDU 2222 Keywords Search:AC 自動機入門多模式匹配
HDU 2222 Keywords Search:AC 自動機入門多模式匹配 給 N (≤10000) 個模式串(長≤50,小寫字母),一主串(長≤1e6)。求
POJ 1321 棋盤問題:二進制狀態壓縮 DFS 解 n 皇後變體
POJ 1321 棋盤問題:二進制狀態壓縮 DFS 解 n 皇後變體 n×n 棋盤(n≤10),部分格子禁用。放 k 個棋子,任意兩個不同行不同列。求方案數。
PAT Broken Keyboard:找出故障按鍵集合差集
PAT Broken Keyboard:找出故障按鍵集合差集 輸入原字符串和實際輸出字符串(長≤80,含 A-Z、0-9、_)。找出原串中有但輸出串中無的字符,
LeetCode Binary Tree Level Order Traversal II:自底向上層序遍歷
LeetCode Binary Tree Level Order Traversal II:自底向上層序遍歷 給定二叉樹,返回自底向上的層序遍歷(葉層在前,根層
POJ 3691 DNA Repair:AC 自動機 + DP 求最少修改字符
POJ 3691 DNA Repair:AC 自動機 + DP 求最少修改字符 給定 N (≤50) 個模式串(長≤20,字符集 AGCT),一主串(長≤100
設計模式:工廠方法模式完整解析與 C++ 實現
設計模式:工廠方法模式完整解析與 C++ 實現 簡單工廠違反開閉原則(新增產品需修改工廠)。工廠方法模式:定義創建對象的接口,由子類決定實例化哪個類,將實例化延
POJ 1422 Air Raid:二分圖最大匹配求最小路徑覆蓋
POJ 1422 Air Raid:二分圖最大匹配求最小路徑覆蓋 有向圖 n 點 m 條邊。求最少從幾個點出發能遍歷所有點。等價於最小路徑覆蓋數。 定理:DA
BZOJ 2648 SJY擺棋子:KD-Tree 動態維護曼哈頓距離最近點
BZOJ 2648 SJY擺棋子:KD-Tree 動態維護曼哈頓距離最近點 平面上動態增刪點(僅增),查詢給定點的曼哈頓距離最近黑點。N,M ≤ 5e5,需 O
HDU 5265 pog loves szh II:模運算與枚舉優化
HDU 5265 pog loves szh II:模運算與枚舉優化 給定 m 個數 a[i] 和模數 p,求 max{ (a[i] + a[j]) % p }
HDU 1050 Moving Tables:區間調度與最大重疊數
HDU 1050 Moving Tables:區間調度與最大重疊數 走廊兩側各 200 間房間(1-200)。搬運桌子從 s 到 t,佔用走廊區間。同一時間不可
最大子數組和:Kadane 算法 O(n) 完美解法
最大子數組和:Kadane 算法 O(n) 完美解法 給定整數數組(含負數),求連續子數組的最大和。經典動態規劃 / 貪心問題。 暴力解法(教學用) //
C++ String 類手寫實現:引用計數與寫時複製(COW)
C++ String 類手寫實現:引用計數與寫時複製(COW) 手寫 String 類是理解內存管理、引用計數、寫時複製(Copy-on-Write)的經典練習
HDU 1051 Wooden Sticks:貪心策略與最長不下降子序列
HDU 1051 Wooden Sticks:貪心策略與最長不下降子序列 n 根木棍,長寬 (l,w)。機器處理第一根需 1 分鐘。若前一根 (l,w),後一根
LA 2889 Palindrome Numbers:第 n 個回文數構造
LA 2889 Palindrome Numbers:第 n 個回文數構造 求第 n 個回文數(十進制,無前導零)。n ≤ 2e9,需 O(1) 或 O(log
C 語言最優狀態機模式:函數指針數組實現 O(1) 狀態轉換
C 語言最優狀態機模式:函數指針數組實現 O(1) 狀態轉換 傳統 `switch-case` 狀態機隨狀態數增長,查找效率下降(O(N))。本文提出基於函數指
PAT 19 幣值轉換:數字轉中文財務大寫模擬
PAT 19 幣值轉換:數字轉中文財務大寫模擬 輸入 ≤9 位非負整數(單位:元),輸出中文財務大寫格式。簡化輸出:a-j 代表 0-9,S/B/Q/W/Y 代