HDU 4751:最短路徑結合背包動態規劃解題詳解
題目背景 Bob 厭倦了遊戲,獨自前往長沙旅遊。岳麓山、橘子洲、世界之窗、省博物館等都是他想打卡的景點,但時間有限,無法全數遊覽。假設長沙共有 N 個景點,每個
Hihocoder #1042 跑馬圈地:枚舉矩形面積避開水塘
問題描述 n×m 網格,矩形水塘 [l,r]×[t,b]。繞行周長 ≤ L 的封閉折線(沿網格邊),不進入水塘。求最大圈地面積(不含水塘)。n,m≤100, L
POJ 2110 Mountain Walking:枚舉高度差 + BFS 判連通性
題目大意 N×N (≤100) 網格,每格有高度。從左上走到右下,只能上下左右移動。路徑上**最高點與最低點之差**最小化。 解題思路:雙重枚舉 + BFS
LeetCode Rotate Image:原地矩陣順時針旋轉 90°
題目大意 給定 n×n 矩陣,原地順時針旋轉 90 度。 核心變換:兩次翻轉 順時針 90° = **左右翻轉** + **主對角線翻轉** 或:**上下翻轉
UVA 662 Fast Food:DP 優化倉庫選址
題目大意 n (≤200) 家餐廳位於高速公路上(位置遞增),選 k (≤30) 家建倉庫,每家餐廳分配到最近倉庫。最小化總距離和。需輸出最優方案與總距離。
ZOJ 3870 數學思維:異或大於最大值的計數
題目大意 max(a,b)` 的個數。 核心觀察 設 `a < b`(不失一般性)。異或結果 `a ⊕ b` 的最高不同位決定大小: b(因 b < 2
LeetCode House Robber II:環狀房屋動態規劃
題目大意 房屋圍成一圈,首尾相鄰。每間房有非負金額,偷相鄰房會觸發警報。求最大可偷金額。 核心思路:拆環為鏈 首尾不能同時偷,分兩種情況取最大: **不偷第
HDU 3038 How Many Answers Are Wrong:帶權並查集檢測矛盾
題目大意 有 n 個變量,m 條約束 `x_a - x_b = w`(或等價的異或關係)。按順序處理約束,若新約束與已知矛盾,計數器 +1。輸出矛盾總數。 帶
HDU 並查集社交網絡:動態維護集合大小
題目大意 輸入多組測試用例,每組給出 m 條好友關係(字符串名字),每加入一條關係後,輸出該社交網絡當前的總人數(即所在連通分量大小)。 核心技巧:字符串映射
LeetCode Unique Paths:動態規劃求網格路徑數
題目大意 m × n 網格,機器人從左上角 (0,0) 走到右下角 (m-1,n-1),每步只能向右或向下。求不同路徑總數。 動態規劃解法 定義 `dp[i]
POJ 1106 Transmitters:半圓覆蓋最大點數幾何問題
題目大意 發射器位於 (x₀,y₀),半徑 r,可旋轉半圓覆蓋區域。給定 N (≤150) 個點,求半圓旋轉後最多能覆蓋多少點。邊界上的點算覆蓋。 幾何轉化
UVALive 3523 Knights of the Round Table:雙連通分量 + 二分圖判定
題目大意 n (≤1000) 位騎士,m (≤10⁶) 對互相仇恨關係。圓桌會議規則: 相鄰騎士不能互相仇恨 參會騎士數必須為奇數(≥3) 無法參加任何合法
Hihocoder 1083 積分:多邊形重心與面積分部計算
題目大意 給定 N (≤8000) 個頂點的簡單多邊形(不自交,無三點共線),計算積分 ∬_P (x + y) dA,結果保留兩位小數。T ≤ 500 測試用例
HDU 1010 Tempter of the Bone:DFS + 奇偶剪枝
題目大意 N×M 迷宮,S 起點,D 終點,X 障礙,. 可通行。要求**恰好**在 T 步到達終點(非 ≤ T),每步只能上下左右移動,不可重複訪問同一格。判
HDU 1856 More is Better:並查集求最大連通分量
題目大意 有 1000 萬個男孩(編號 1~10⁷),給出 n (≤10⁵) 對直接好友關係。好友關係具有傳遞性(A-B, B-C ⇒ A-C)。選擇一個最大的
C++ 線索二叉樹求最近公共祖先(LCA)
問題背景 給定一棵二叉樹(以擴展前序序列 `#` 表示空節點構建),要求將其線索化為雙向鏈表(中序線索化),並實現查找兩節點的最近公共祖先(LCA)。 線索二
HDU 3234 異或查詢:加權並查集經典應用
問題描述 有 n (≤20000) 個未知整數 X₀…Xₙ₋₁,支援兩類操作(Q ≤ 40000): I p v:賦值 Xₚ = v I p q v:約束 X