UVA 558 Wormholes:Bellman-Ford 判斷負權環實現時光倒流
UVA 558 Wormholes:Bellman-Ford 判斷負權環實現時光倒流 n(≤1000)星系,m(≤2000)蟲洞(有向邊),權重為時間差(可負)
UVA 1366 火星採礦:三維 DP 管道鋪設最大化產出
UVA 1366 火星採礦:三維 DP 管道鋪設最大化產出 n×m 網格,每格有 A、B 兩種礦產量。A 礦只能向左運輸(同行向左管道),B 礦只能向上運輸(同
LeetCode 234 回文鏈表:原地反轉前半部分驗證
LeetCode 234 回文鏈表:原地反轉前半部分驗證 判斷單鏈表是否回文,要求 O(n) 時間、O(1) 空間。解法:快慢指針找中點,反轉前半部分鏈表,比對
UVA 644 即時解碼性:前綴碼判斷與字典序排序
UVA 644 即時解碼性:前綴碼判斷與字典序排序 給定一組字串(每組以 9 結束,文件以 EOF 結束),判斷是否存在一個字串是另一字串的前綴。若無前綴關係則
HDU 4081 秦始皇國道系統:MST 與次小生成樹優化比值
HDU 4081 秦始皇國道系統:MST 與次小生成樹優化比值 n 個城市,知座標與人口。修路連通所有城市,路徑成本為歐氏距離平方。目標:選一條路 i 免費(成
Codeforces 534B Covered Path:速度變化約束下的最大路程
Codeforces 534B Covered Path:速度變化約束下的最大路程 已知起始速度 v₁、結束速度 v₂、總時間 t 秒、每秒速度變化不超過 d。
UVA 10479:遞歸規律求序列第 n 項
UVA 10479:遞歸規律求序列第 n 項 序列構造:S₀ = 0;Sₖ = Sₖ₋₁ 中每字符 x 替換為 x 個 0 後接 x+1。即:0 → 1 → 0
UVALive 2031 DDR:三維 DP 最小化跳舞機體力消耗
UVALive 2031 DDR:三維 DP 最小化跳舞機體力消耗 跳舞機四方向鍵 1(左) 2(右) 3(上) 4(下),初始雙腳在 0。移動消耗:0→任意=
HDU 1171 Big Event in HDU:多重背包均分物品價值
HDU 1171 Big Event in HDU:多重背包均分物品價值 N 種設施,第 i 種價值 v_i 有 m_i 個。分成兩份,要求第一份總價值 ≥ 第
LeetCode 8 字符串轉整數:atoi 邊界條件完整處理
LeetCode 8 字符串轉整數:atoi 邊界條件完整處理 實現 atoi:字串轉 32 位有號整數。處理步驟:① 跳過前導空格;② 可選符號 +/-;③
HDU 2159 FATE:二維多重背包求最大剩餘忍耐度
HDU 2159 FATE:二維多重背包求最大剩餘忍耐度 需經驗 n,忍耐度 m,k 種怪(無限供應),最多殺 s 隻。殺第 i 種怪得經驗 a_i、失忍耐 b
HDU 2577 How to Type:大小寫鎖與 Shift 鍵最少按鍵次數 DP
HDU 2577 How to Type:大小寫鎖與 Shift 鍵最少按鍵次數 DP 輸入字串(長度 ≤100),含大小寫字母。按鍵規則:小寫鍵直接輸出小寫;
HDU 2846 Repository:後綴字典樹統計子串出現次數
HDU 2846 Repository:後綴字典樹統計子串出現次數 給定 P(≤10,000)個商品名稱(長度 ≤20),Q(≤100,000)次查詢,每次給一
C++ STL generate 與 generate_n:序列生成算法詳解
C++ STL generate 與 generate_n:序列生成算法詳解 <algorithm> 中的 generate 與 generate_
LeetCode 39 組合總和:回溯法去重求解
LeetCode 39 組合總和:回溯法去重求解 給定無重複元素的候選數組 candidates 和目標值 target,找出所有和為 target 的組合。每
C++ 鏈表逆序:遞歸法與頭插法非遞歸實現對比
C++ 鏈表逆序:遞歸法與頭插法非遞歸實現對比 單鏈表逆序是基礎操作。遞歸法利用調用棧隱式存儲後續節點,頭插法(非遞歸)顯式構建新鏈表頭。兩種方法均為 O(n)
USACO Milking Cows:區間合併求最長擠奶與最長空閒
USACO Milking Cows:區間合併求最長擠奶與最長空閒 給定 N(≤5000)個擠奶時間區間 [start, end],求最長連續擠奶時間與最長連續