HDU 哈密頓繞行世界問題 - 十二面體圖 DFS 求所有哈密頓環
問題描述 正十二面體 20 個頂點對應 20 個城市,給定每個頂點的 3 個相鄰頂點。從給定城市 m 出發,經過每個城市恰好一次並回到起點。按字典序輸出所有路徑
BNU 34978 漢諾塔期望步數 - 動態規劃推導遞推公式
問題描述 經典漢諾塔有三根柱子,n 個盤子從柱子 1 移到柱子 3。標準最少步數 f[n] = 2*f[n-1] + 1,f[1]=1。現改為隨機策略:每次將最
HDOJ 4259 Double Dealing - 洗牌循環節 LCM 求回到原序列次數
問題描述 有 n 張不同的牌,發給 k 個玩家:第 1 張給玩家 1,第 2 張給玩家 2,... 第 k 張給玩家 k,第 k+1 張又給玩家 1,以此類推。
POJ 3254 Corn Fields - 狀態壓縮 DP 計算合法放置方案數
問題描述 給定 n × m 的網格(n ≤ 12, m ≤ 12),部分格子禁止放置。要求在每行放置若干牛,使得同一行相鄰格子不同時放牛,且相鄰兩行同一列不同時
UVA 12130 Summits - BFS + 貪心統計峰頂數量
問題描述 給定 h × w 的高度地圖,參數 d。一個格子是峰頂,當且僅當:從該格子出發,無法到達高度 ≤ (該峰頂高度 - d) 的格子,且無法到達更高的峰頂
POJ 1363 Rails - 棧模擬判斷火車調度可行性
問題描述 有一個死端側線(棧),入口方向 A 進入 N 節車廂(編號 1..N),出口方向 B 需要按給定排列順序重組。車廂只能從 A 進入側線,或從側線移出到
UVA 11330 Andy's Shoes - 置換循環分解求最少交換次數
問題描述 Andy 有 n 雙鞋,左右腳交替放置(奇數位置為左鞋,偶數為右鞋),但顏色混亂。每雙鞋顏色唯一,左鞋位置固定,只能移動右鞋。求將所有右鞋移動到對應左
POJ 1753 Flip Game - 位運算 + BFS 求最少翻轉步數
問題描述 在一個 4×4 的棋盤上,每個格子有一面黑、一面白的棋子。每次操作選擇一個格子,翻轉該格子及其上下左右相鄰的格子(共 3~5 個)。目標是使所有棋子同
UVA 434 Matty's Blocks - 積木堆疊的最小與最大數量
問題描述 給定一個 n × n 的底面,以及從正視圖和右視圖看到的每列積木高度。要求計算搭建該形狀所需的最少積木塊數,以及最多積木塊數與最少積木塊數的差值。
HDU 1158 Employment Planning - 動態規劃求最小人力成本
問題描述 專案經理需要確定每個月所需的工人數量。已知每個月的最低用工需求,招聘和解僱工人都會產生額外成本。一旦工人被雇用,即使不工作也需支付薪水。給定招聘成本、
POJ 3414 Pots:BFS 狀態空間搜索 + 路徑回溯(水壺問題)
問題描述 兩水壺容量 A, B (≤100)。操作:FILL(i)、DROP(i)、POUR(i,j)。求最少操作序列使某壺恰有 C 升水。輸出操作數及序列。
BNU 34975 剪紙:折線劃分平面區域數大數模擬 + 規律公式
問題描述 平面上加入折線,每條折線由 X 段組成,第 i 段屬於類型 Y(方向)。求加入後平面被劃分的區域數模 MOD。多組操作,答案模 MOD 輸出。 規律
UVA 11255 Necklace:Polya 計數項鏈旋轉翻轉等價類
問題描述 三種顏色珠子,給定各顏色個數,用完所有珠子串項鏈。旋轉、翻轉視為相同。求不同項鏈數。 Polya 計數:二面體群 D_N 旋轉:k 步旋轉 (0≤
ZOJ 1074 To the Max:二維最大子矩陣和 DP(前綴和 + 枚舉行)
問題描述 N×N 矩陣(N≤100,元素 -127~127),求任意子矩陣的最大元素和。 解法:枚舉上下行 + 一維最大子段和 列前綴和:colSum[r]
POJ 2607 Fire Station:Floyd-Warshall 求最優消防站位置
POJ 2607 Fire Station:最小化最遠居民點到消防站距離 城市有 f 個現有消防站和 i 個路口(i ≤ 500)。需在一個路口新建消防站,使得
UVA 10601 Cubes:Polya 計數立方體著色方案數
問題描述 12 根等長木棍,每根有顏色(6 種顏色編號 1~6)。用它們拼正方體,旋轉後相同視為同一種。求不同立方體數量。 Polya 計數:立方體 24 種
UVA 1016 Silly Sort:置換循環分解 + 貪心選擇最小交換代價
問題描述 長度 n 序列,交換任意兩數代價為兩數之和。求排序成升序的最小總代價。 核心思路:置換循環 將目標排序後的位置映射為置換 p[i]:第 i 位應放
C++ auto 關鍵字、命名空間與 using 聲明詳解
C++ 中 auto 自動變量、命名空間、using 作用及作用域 本文整理 C++ 中幾個核心概念的用法與區別,幫助理解現代 C++ 程式設計基礎。 1.