HDU 4745 Two Rabbits:環上最長回文子序列區間 DP
題目大意 環形排列 n 塊石頭(n ≤ 1000),每塊有權值 a[i]。兩隻兔子分別順時針、逆時針跳躍,每次跳躍落腳石頭權值必須相等。問一圈內最多能經過多少塊
HDU 1722 Cake:最大公約數幾何應用
題目大意 長方形蛋糕尺寸 n×m,從一角沿對角線切到對角,問切斷了多少個 1×1 的小正方形格子。 數學規律 對角線穿過的格子數 = n + m - gcd(
HDU 4003 Find Metal Mineral:樹形 DP + 分組背包
題目大意 給定一棵 N 節點樹(N ≤ 10,000),邊有權值(能量消耗)。K 個機器人從節點 S 出發,需遍歷所有節點(採集礦產)。機器人可在任意節點結束(
POJ 3140 Contestants Division:樹形 DP 分割樹最小化差值
題目大意 給定一棵 N 節點樹(N ≤ 100,000),每個節點有權值(學生數)。刪除一條邊將樹分為兩部分,使兩部分權值和之差的絕對值最小。輸出最小差值。
八數碼問題:雙向 BFS + 康托展開求解
問題描述 3×3 九宮格,數字 1~8 和空格 x。從給定初始狀態移動空格,使其變為目標狀態 12345678x。輸出移動序列(u/d/l/r),或 unsol
最長回文子串:Manacher 算法 O(n) 詳解
問題背景 給定字符串,求最長回文子串長度。Manacher 算法可在 O(n) 時間內解決,是回文問題的標準解法。 核心思想 預處理:在字符之間插入特殊字符
HDU 2136 Largest prime factor:線性篩預處理最大質因子
題目大意 給定 N(N ≤ 1,000,000),求 N 的最大質因子。多組測試,直到 EOF。 線性篩預處理 在篩質數時,同時記錄每個合數的最大質因子。對於
HDU 1286 找新朋友:歐拉函數應用
題目大意 給定整數 n,求 1 到 n 中與 n 互質的數的個數,即歐拉函數 φ(n)。多組測試數據。 歐拉函數性質與計算 若 n = p1^k1 * p2^
HDU 3586 Information Disturbing:二分答案 + 樹形 DP
題目大意 給定一棵 N 節點樹(N ≤ 1000),根為 1,葉子節點為前線士兵。需切斷若干邊,使所有葉子與根斷開。切斷邊的代價為 w,要求:(1) 被切斷邊的
HDU 4336 Card Collector:狀態壓縮 DP 求期望
題目大意 有 N 種卡片(N ≤ 21),每包方便面隨機附贈一張卡片,第 i 種卡片的概率為 p[i]。求收集齊所有 N 種卡片期望需要買多少包。 狀態定義
POJ 3422 Kaka's Matrix Travels:最小費用最大流
題目大意 N×N 矩陣,每個格子有權值。從左上角 (1,1) 走到右下角 (N,N),只能向右或向下移動,收集經過格子的權值。需要走 K 次(每次路徑可不同),
HDU 2255:二分圖最大權匹配 - KM 算法詳解
問題背景 給定一個二分圖,左側 N 個頂點,右側 N 個頂點,邊有權重。求一個完美匹配,使邊權之和最大。這是經典的分配問題,KM 算法(Kuhn-Munkres
HDU 1074 Doing Homework:狀態壓縮 DP 最小化扣分
題目大意 Ignatius 有 N 門作業(N ≤ 15),每門有截止天數 D 和所需天數 C。逾期一天扣 1 分。安排做作業順序,使總扣分最小。若多種順序扣分
UVA 10047 - The Monocycle:BFS 狀態搜索
題目背景 獨輪車輪子分為 5 個扇區,顏色分別為 0~4(0 代表綠色)。車在 M×N 網格中移動,起點 S 朝北,綠色扇區貼地。每秒可選擇:向前移動一格、原地
HDU 1087 Super Jumping! Jumping! Jumping!:最大和遞增子序列
題目大意 給定一個整數序列,玩家從起點跳躍到終點。每次跳躍必須從當前棋子跳到另一個絕對值更大的棋子,且不能後退。分數為路徑上所有棋子數值之和。求最大可能得分。
UVA 10054 - The Necklace:歐拉回路解析與實作
題目背景 有一串由彩色珠子組成的項鍊,每顆珠子的兩半顏色不同,相鄰珠子接觸處顏色相同。給定一些零散珠子,請判斷是否能復原成一條完整的項鍊,並輸出其中一種可行的排
ZOJ 1382 Distant Galaxy:技巧枚舉上下邊界 + 離散化 + 前綴最小值優化
問題描述 給定 N (≤100) 個點座標 (|x|,|y| ≤ 1e9)。找一個邊平行坐標軸的矩形,**邊上**包含最多點。輸出最大點數。 解法思路 **