POJ 1837 Balance:天平平衡問題的 DP 解法(01 背包變形)
問題描述 天平左右各有若干鉤子(位置 -15~15),有 G 個鉤碼(重量 1~25),需將所有鉤碼掛在鉤子上使天平平衡。求方案總數。C ≤ 20, G ≤ 2
UVA 10163 Storage Keepers:動態規劃雙層優化
問題建模 有 n 倉庫、m 看管人。每人能力值 pᵢ,若看管 k 倉庫,每倉安全值為 ⌊pᵢ/k⌋。倉庫安全值取所有倉庫的最小值 L。雇傭成本等於能力值之和。目
HDU 2544 最短路:Dijkstra 算法 Java 實現詳解
題目大意 給定 N 個路口(1 為商店,N 為賽場)、M 條雙向道路及通行時間,求從 1 到 N 的最短時間。N ≤ 100,M ≤ 10000,保證至少存在一
POJ 3295 邏輯表達式重言式判斷:算符優先文法與暴力枚舉
問題描述 給定一個邏輯表達式,包含變量(p,q,r,s,t)、常量(0,1)及運算符:K(與)、A(或)、N(非)、C(蕴含)、E(等價)。判斷該表達式是否為重
二叉樹的三種遍歷遞歸實現(C++ 代碼詳解)
題目背景 給定一棵二叉樹的結構(每個節點的左右子節點編號),要求分別輸出先序、中序、後序遍歷結果。節點編號從 1 開始,0 表示空節點。 遍歷定義與遞歸邏輯
HDU 1864 Brave Game:SG 函數在組合遊戲中的應用詳解
題目概述 HDU 1864 Brave Game 是一道經典的組合遊戲問題,核心考察 SG 函數(Sprague-Grundy 函數) 的應用。遊戲規則簡單:兩
ZOJ 校賽 130804 組隊練習題解:A/E/F/J 四題完整分析
A. Ribbon Gymnastics — 四點配對最小距離和 四個點作兩個圓,圓不相交,最大化半徑和。等價於將四點分成兩對,每對距離之和最小(相切時半徑和
C++ set 自定義排序去重:重載 operator< 實現結構體有序容器
問題場景 需將自定義結構體存入 std::set,自動按指定規則排序並去重。結構體需定義嚴格弱序。 實現模板 #include <iostream&g
HDU 2829:Lawrence — 四邊形優化 DP 分割鐵路
題目轉化 n 個車站(n≤1000),第 i 站戰略值 v[i]。連續區段價值 = 區段內所有兩兩值乘積之和。可切斷 m 段鐵路(分成 m+1 段),求剩餘總價
POJ 1611:The Suspects — 並查集統計嫌疑人數
題目大意 n 名學生(0~n-1),m 個小組。同組學生互為接觸者。0 號確診,求最終嫌疑人數(與 0 連通的學生數)。 並查集模板 int fa[3000
HDU 3903:Trigonometric Function — 三角函數有理性判定
題目大意 給定三角形邊長 a,b,c(有理數),整數 n,m,k。判斷 cos(nA + mB) 是否為有理數(A,B,C 為對應角)。 數學推導 餘弦定理
POJ 1068:Parencodings — P 序列轉 W 序列模擬
編碼定義 P 序列:第 i 個右括號前面有多少個左括號。 W 序列:第 i 個右括號所在的匹配對內(含自身)共有多少個右括號。 例:(((()()())))
HDU 1233:還是暢通工程 — 最小生成樹 Prim 與 Kruskal 完整對比
題目大意 N 個村莊(N<100),給出所有兩兩之間距離(N(N-1)/2 條邊)。求連通所有村莊的最小公路總長度。標準 MST 問題。 Prim 算法 O(
HDU 1054:Strategic Game — 樹形 DP 最小頂點覆蓋
題目轉化 給定一棵樹(n≤1500),在節點放置士兵,使每條邊至少一端點有士兵。求最少士兵數。即樹的最小頂點覆蓋。 樹形 DP 定義 任選根(入度為 0 的
UVA 12538:Version Controlled IDE — GNU ext/rope 持久化字符串
題目操作 在位置 p 插入字符串。 從位置 p 刪除長度 c 的子串。 查詢第 v 版本中位置 p 長度 c 的子串,並統計其中 c 的個數作為下一操作的偏移
UVA 10817:Headmaster's Headache — 狀態壓縮 DP 覆蓋課程
題目大意 有 C 門課程(C≤8)。m 位已錄取教師(必選),n 位候選教師(可選)。每位教師會若干課程、有成本。要求每門課程至少由兩位教師覆蓋。求最小總成本。
POJ 1925:Spiderman — DP 擺盪求最少次數
題目模型 蜘蛛俠從公寓 (x₁,y₁) 出發,目標塔樓 (xₙ,yₙ)。中間建築 (xᵢ,yᵢ) 高度 yᵢ ≥ y₁。每次選一建築射蛛網到頂點,擺盪到對面等高
HDU 1142:A Walk Through the Forest — Dijkstra + 記憶化 DFS 計數最短路徑
題目大意 無向加權圖,節點 1 為起點,節點 2 為終點。只能沿最短路徑從 1 走到 2(即每步必須讓到終點的最短距離嚴格減小)。求滿足條件的路徑條數。 兩步