HDU 1272 小希的迷宮:並查集判斷圖是否為樹
題目大意 給定若干條雙向邊(房間連接),判斷該圖是否滿足: 連通(任意兩點可達)。 無環(任意兩點間有且僅有一條簡單路徑)。 即判斷圖是否為樹。輸入以 0
HDU 3893 Drawing Pictures:矩陣快速冪解對稱著色計數問題
題目大意 有 N (≤ 10^9) 個格子排成一行,用 6 種顏色著色,滿足: 相鄰格子顏色不同。 整體左右對稱。 不出現連續的 1,2,3,4,5,6(正序
C++ STL 源碼閱讀準備:宏定義技巧與模板偏特化詳解
閱讀 STL 源碼的兩大攔路虎 大量宏定義:用於生成構造函數、重載函數等重複代碼,需能心中展開。 模板偏特化:解決參數個數、類型可變的核心技術。 宏定義演
POJ 2109 Power of Cryptography:用 double 和 pow 避開高精度求整數 n 次方根
題目描述 給定整數 n (1 ≤ n ≤ 200) 和 p (1 ≤ p < 10^101),已知 p = k^n,其中 k 為整數 (1 ≤ k ≤ 10^9
HDU 4277 USACO ORZ:狀態壓縮 DFS + Set 去重解三角形計數問題
題目大意 給定 n (≤15) 條木棍,長度為 a[i]。將所有木棍分成三堆,分別作為三角形的三條邊。若能構成非退化三角形(任意兩邊之和大於第三邊),則記為一種
HDU 1421 搬寢室:排序後 DP 最小化疲勞度平方和
問題描述 n 件物品(n≤2000),需搬運 k 對(2k≤n)。疲勞度 = 兩件物品質量差的平方。求最小總疲勞度。 核心觀察:排序後相鄰配對最優 證明:若最
HDU 1232 暢通工程:並查集求連通分量
問題描述 N 個城鎮,M 條道路。目標使任意兩鎮連通(可間接)。問最少還需建多少條路。N<1000,多測試用例,N=0 結束。 並查集核心邏輯 初始每鎮自成
HDU 4637 Rain on your Fat Brother:線段與半圓/三角形求交 + 區間合併
問題建模 雨滴靜止,人(maze)以速度 (v1, v) 向左上移動。雨滴形狀:底部半徑 r 的半圓 + 高 h 的等腰三角形。求人被雨淋濕的總時間長度。 幾
HDU 4445 CRAZY TANK:物理拋體運動與角度枚舉解法詳解
題目背景 HDU 4445 CRAZY TANK 來自 2012 年 ACM/ICPC 亞洲區金華賽區現場賽 D 題。題目描述一輛坦克從高度 h 發射砲彈,初速
POJ 2352 Stars 星星等級:樹狀數組離線統計
問題重述 給定 n 顆星星的坐標 (x, y),x ∈ [0, 32000],y 同。一顆星星的「等級」= 左下方(x ≤ x 且 y ≤ y,不含自身)的星星
HDU 1874 暢通工程續:Dijkstra 算法模板題
題目大意 N 個城鎮(N<200),M 條雙向道路(M<1000),求從 S 到 T 的最短路徑長度。不通則輸出 -1。多測試用例,EOF 結束。 Dijks
URAL 1233 Amusing Numbers:數位 DP + 二分查找
問題描述 定義「有趣數」:某數 k 的十進制表示作為前綴,能構成多少個數?給定 k 和 m,求第 m 個以 k 為前綴的數。若不存在輸出 0。 核心思路:計數
HDU 4291 矩陣快速冪求遞推:三層模運算巧妙降維
問題描述 遞推關係:g(n) = 3g(n-1) + g(n-2), g(0)=0, g(1)=1。 求 g(g(g(n))) mod 1,000,000,00
HDU 2821 Pusher:DFS 暴力搜索與狀態回溯
問題描述 N×M 網格(N,M ≤ 30),格子包含磚塊(a-z 表示層數)、空地(.)。玩家從空地出發,每次選擇一個方向移動直到撞到磚塊或邊界。撞到磚塊時,該
UVA 10635 Prince and Princess:LCS 轉 LIS 的經典技巧
問題建模 國王要求王子與公主「忽略某些跳躍」後走相同路線。即:在兩個排列中尋找最長公共子序列(LCS)。但 N ≤ 250,N² ≤ 62500,直接 LCS
PAT 1055 區間前 K 個:排序 + 年齡桶優化查詢
問題描述 N 個人(N ≤ 10⁵),每人有姓名、年齡、財富。Q 個查詢(Q ≤ 1000),每查詢給定 M、年齡區間 [Amin, Amax],輸出該區間內按
CF 256C Furlo and Rublo and Game:SG 函數打表與區間規律
問題分析 遊戲規則:一堆石子,每次可取走 1 到 ⌊√x⌋ 顆(x 為當前石子數)。多堆獨立遊戲,求先手勝負。n ≤ 10⁵, x ≤ 10¹⁸。 核心觀察: