POJ 3034:砸地鼠遊戲 DP 優化
問題描述 n x n 格子,錘子每步最多移動曼哈頓距離 d(實為切比雪夫距離?題目說「移動 d」通常指切比雪夫)。地鼠在時刻 t 出現在 (x,y),持續 1
ZOJ 3527 Shinryaku! Kero Musume:樹 DP 處理環與基站選址
問題描述 N(≤ 1e5)個村莊,每村可建聖地獲信仰值 F_i。每村有唯一糾纏村 P_i(有向邊 P_i)。若村 i 及 P_i 都建聖地,i 的信仰值變化
POJ 2774 Long Long Message:後綴數組求最長公共子串
問題描述 給定兩個長度 ≤ 100000 的小寫字母字符串。求最長公共子串長度。 後綴數組解法 將兩串連接:S = A + # + B(# 為不在字母表中字
POJ 1258 Agri-Net:最小生成樹 Prim 算法模板題
問題描述 給定 N(≤ 100)個農場,及其兩兩之間的距離矩陣(對角線為 0,對稱)。求連接所有農場的最小光纖總長度(即最小生成樹權值和)。 Prim 算法實
HDU 4405 Aeroplane Chess:概率 DP 計算期望擲骰次數
問題描述 棋盤 0 到 n 共 n+1 格。從 0 起,每回合擲均勻六面骰(1~6),前進對應步數。部分格子有傳送門 b(單向),落在 a 立即傳送至 b(不
POJ 1659 Frogs' Neighborhood:度數序列構造無向圖(Havel-Hakimi 算法)
問題描述 給定 n(2 < n < 10)個節點的度數 x_1..x_n。判斷是否存在無向簡圖實現此度數序列。若存在,輸出任意一個鄰接矩陣;否則輸出 NO。多測
UVA 572 Oil Deposits:DFS 求八連通分量計數油田
問題描述 給定 N x M(≤ 100)網格,W 代表水,. 代表陸地。八方向相連的 W 組成一個池塘。求池塘總數。 解法:DFS 洪水填充 遍歷每個格子,
C++ 設計模式:狀態模式詳解與糖果機例子框架
模式動機 對象行為隨內部狀態改變而改變。傳統用大量 if-else 判斷狀態導致代碼臃腫、難維護、難擴展。狀態模式將每種狀態封裝為獨立類,狀態轉換由狀態類內部控
C++ 設計模式:迭代器模式詳解與 STL 風格實現
模式定義 迭代器模式:提供一種方法順序訪問聚合對象中的各個元素,而無需暴露該對象的內部表示。 核心角色 Iterator:定義訪問和遍歷元素的接口(firs
UVA 10917 Walk Through the Forest:Dijkstra + DAG DP 計數路徑
問題描述 給定無向圖,起點 1,終點 2。只允許走滿足條件的邊 (A, B):從 B 到終點的最短路長度 嚴格小於 從 A 到終點的最短路長度。求從 1 到 2
HDU 5089 Assignment:RMQ+二分與單調隊列求合法區間數
題目大意 給定長度 n 的數組 a[1..n] 和整數 k。若區間 [l, r] 滿足:最大值 - 最小值 < k,則稱為合法區間。求合法區間總數。n ≤ 1e
Codeforces Amr and Chemistry:數學與暴力構造最小操作數
問題描述 給定 n 個數 a_i。每次操作可將某數乘 2 或除以 2(向下取整,即右移)。求使所有數相等的最小總操作次數。 核心觀察 任意數 x 可表示為 x
LeetCode 3Sum Closest:閾值法優化三數之和最接近目標值
題目描述 給定整數數組 num 和目標值 target,找出三個數的和使其與 target 的絕對差最小。返回該和。假設唯一解。 解題技巧:動態閾值 排序數組
Codeforces Round #313 A. Currency System in Geraldion:最小不可組成金額
題目大意 給定 n 種銀行券面值 a_1..a_n(各不相同),每種可用無限張。若某正整數無法用這些面值組合表示,稱為「不幸運數」。求最小的不幸運數;若所有正整
LeetCode 240 Search a 2D Matrix II:右上角搜索法
題目描述 在 m x n 矩陣中搜索目標值。矩陣特性:每行從左遞增,每列從上遞增。判斷目標值是否存在。 最優解法:右上角(或左下角)搜索 從右上角 (0, n
C++ 設計模式:模板方法模式詳解與咖啡/茶例子
模式定義 模板方法模式:定義一個操作中的算法骨架,將某些步驟延遲到子類中實現。基類封裝不變的流程,子類實現變化的細節。 核心角色 AbstractClass
HDU 5294:最短路 + 最大流解古墓通道切斷問題
問題描述 給定無向圖 N 個節點、M 條邊(邊長 l_i)。起點 1,終點 N。僅允許走最短路徑。敵方可切斷邊。問: 最少切斷幾條邊使最短路不通?(最小割)
HDOJ 2030 漢字統計:ASCII 碼與漢字機內碼詳解
背景知識 ASCII 碼:範圍 0~255(0~127 標準,128~255 擴展),每字符佔 1 字節(8 位)。 漢字機內碼:漢字無 ASCII 碼,採用