POJ 3169 Layout:差分約束系統與 Bellman-Ford/SPFA 完全攻略
題目建模:差分約束系統 設 x[i] 為第 i 頭牛的位置坐標。約束轉化為: ML 組 x[v] - x[u] ≤ w(距離 ≤ w) → 有向邊 u → v
POJ 2362 Square:木棒拼正方形的 DFS + 剪枝藝術
題目大意 給定 n (≤ 20) 根木棒,長度為正整數。問能否用所有木棒拼成一個正方形(不可折斷)。 必要條件(快速判斷 No) 總長度 sum % 4 =
Codeforces 486D Valid Sets:樹形 DP + 以最小值為根的計數技巧
題目大意 給定 n 個節點的樹,每個節點有權值 a[i]。求滿足條件的非空點集數量: 1. 點集內任意兩點連通(即為一棵連通子樹) 2. max(權值) - m
POJ 3122 Pie:二分答案 + 貪心檢查切餅乾
POJ 3122 Pie 詳解 題目:N (≤10⁴) 個圓柱形餅乾,高 1,半徑 rᵢ。F 個朋友 + 自己共 F+1 人。每人分得同一塊餅乾切出的同體積塊(
Ural 1039 Anniversary Party:樹形 DP 最大化歡樂度
Ural 1039 Anniversary Party 詳解 題目:樹狀組織結構(根為校長),N (≤6000) 員工,每人有「歡樂度」(-128~127)。選
POJ 2533 Longest Ordered Subsequence:最長上升子序列 O(n log n)
POJ 2533 Longest Ordered Subsequence 詳解 題目:給定長度 N (≤1000) 的數列,求最長嚴格上升子序列(LIS)長度。
POJ 2182 Lost Cows:樹狀數組還原排列
POJ 2182 Lost Cows 詳解 題目:N (≤8000) 頭牛,品牌 1..N。輸入 N-1 個數 a[i](i=2..N),表示第 i 位牛前面比
Count and Say:外觀數列生成算法詳解
Count and Say(外觀數列)生成算法詳解 題目:外觀數列定義: 1 11 (一個 1) 21 (兩個 1) 1211 (一個 2,一個 1) 1112
Codeforces 194B:最大公約數求環上步數
Codeforces 194B 詳解 題目:n×n 方格,從左下角開始,每次走 n+1 格畫一個叉。問回到起點時共畫了多少個叉。 核心數學:環上步長與 GCD
LA 6529 Eleven:數位 DP 計算可被 11 整除的排列數
LA 6529 Eleven 詳解 題目:給定數字字符串(長度 ≤100),可任意排列。求有多少種排列形成的數能被 11 整除。結果模 10⁹+7。數字可重複,
POJ 1163 The Triangle:數字三角形動態規劃求最大路徑和
POJ 1163 The Triangle 詳解 題目:給定 n (≤100) 行數字三角形,每行 i 有 i 個整數(0~99)。從頂點出發,每步只能向左下或
LeetCode 142 Linked List Cycle II:快慢指針找環入口
LeetCode 142 Linked List Cycle II 詳解 題目:給定單鏈表頭節點,判斷是否有環,若有返回環入口節點,否則返回 null。要求 O
LeetCode Compare Version Numbers:版本號字符串比較
LeetCode Compare Version Numbers 詳解 題目:給定兩個版本號字符串 version1, version2(如 1.0.1、1),
HDU 1431 素數回文:範圍預生成 + 素性測試
HDU 1431 素數回文 詳解 題目:多組查詢,每組給 a, b (5 ≤ a < b ≤ 100,000,000),輸出 [a,b] 內所有既是素數又是回文
POJ 1062 昂貴的聘禮:分層圖最短路 + 狀態壓縮等級限制
POJ 1062 昂貴的聘禮 詳解 題目:N (≤100) 個物品(1 號為酋長承諾)。每物品有價格 P、等級 L、若干替代品 (T, V)(用替代品 T 可減
UVA 10700 Camel Trading:表達式加括號求極值
UVA 10700 Camel Trading 詳解 題目:給定不含括號的表達式,僅含正整數(1~20)、+、*,數字個數 ≤12。通過加括號改變運算順序,求表
YT14 矩形包容問題:箱子能否放入瓷磚不觸碰邊緣
YT14 矩形包容問題 詳解 題目:給定瓷磚尺寸 A×B、箱子尺寸 X×Y(均 ≤50000)。判斷箱子能否放入單塊瓷磚內,不觸碰邊緣(即嚴格內部)。箱子可旋轉