POJ 1458 Common Subsequence:經典 LCS 動態規劃
POJ 1458 Common Subsequence:經典 LCS 動態規劃 題目:給定兩字符串(長度 ≤ 1000?實際 ≤ 200),求最長公共子序列長度
BZOJ 1146 樹上帶修改第 K 大:樹鏈剖分 + 線段樹套平衡樹 vs DFS 序 + 主席樹
問題大意 樹上動態修改點權,查詢路徑上第 K 大值。n,q ≤ 80000。 方案一:樹鏈剖分 + 線段樹套平衡樹 (Splay/Treap) 重鏈剖分將路
POJ 2418 Hardwood Species:字典樹統計字符串頻率
POJ 2418 Hardwood Species:字典樹統計字符串頻率 題目:輸入最多 1,000,000 行樹名(長度 ≤ 30,含大小寫、空格等任意可打印
POJ 1088 滑雪:記憶化 DFS 求最長下降路徑
POJ 1088 滑雪:記憶化 DFS 求最長下降路徑 題目:R×C 網格(R,C ≤ 100),每格有高度。從任意格子出發,只能向上下左右移動到**嚴格更低*
HDU 5214 Movie:區間不相交選取貪心判定
HDU 5214 Movie:區間不相交選取貪心判定 題目:生成 n 個區間 [L_i, R_i](由線性同餘生成器產生),問是否存在三個兩兩不相交的區間。n
POJ 1159 Palindrome:LCS 求最少插入次數構造回文
POJ 1159 Palindrome:LCS 求最少插入次數構造回文 題目:給定字符串(長度 ≤ 5000),求最少插入多少字符可使其成為回文。等價於:字符串
POJ 1286 Necklace of Beads:波利亞計數定理應用
POJ 1286 Necklace of Beads:波利亞計數定理應用 題目:n 顆珠子(n < 24)串成項鏈,用紅/藍/綠三色染色。旋轉、翻轉後相同的視為
LeetCode Add Binary:二進制字符串相加
LeetCode Add Binary:二進制字符串相加 題目:給定兩個二進制字符串 a, b,返回它們的和(二進制字符串)。例:11 + 1 = 100。
C++14 實現 LINQ 風格鏈式查詢:範圍適配器與管道操作符
設計目標 在 C++ 中實現 C# LINQ 風格的鏈式查詢: to_vector(); 核心組件 Range 基類:定義 front()、next()、
POJ 3087 Shuffle'm Up:洗牌模擬與循環檢測
POJ 3087 Shufflem Up:洗牌模擬與循環檢測 題目:兩疊各 C 張牌(S1 底→頂,S2 底→頂)。洗牌規則:交錯合併為 S12(底部先放 S2
C++ 數組求最大值最小值最優算法:3⌊n/2⌋ 次比較
C++ 數組求最大值最小值最優算法:3⌊n/2⌋ 次比較 常規單獨遍歷找最大/最小各需 n-1 次比較,總 2n-2。成對比較法可降至 3⌊n/2⌋ 次(CLR
POJ 3126 Prime Path:四位素數 BFS 最短轉換
POJ 3126 Prime Path:四位素數 BFS 最短轉換 題目:給兩個四位素數 start, end。每步可修改一位數字(千/百/十/個位),修改後必
POJ 2251 Dungeon Master:三維 BFS 最短路徑
POJ 2251 Dungeon Master:三維 BFS 最短路徑 題目:三維迷宮(L 層,每層 R 行 C 列),# 為岩石,. 為空地,S 起點,E 終
POJ 3661 Running:動態規劃狀態轉移詳解
POJ 3661 Running:動態規劃狀態轉移詳解 題目:奶牛可跑 n 分鐘,疲勞度上限 m。每分鐘可跑 a[i] 米。每分鐘選跑或休息:跑則疲勞+1、距離
NYOJ 832 合並游戲:狀態壓縮 DP 詳解
NYOJ 832 合並游戲:狀態壓縮 DP 詳解 題目:n 個石子(n ≤ 10),給定 n×n 矩陣 A,A[i][j] 表示合並石子 i 和 j 獲得的金幣