POJ 3714 Raid:分治法求平面最近點對
經典分治框架 按 x 排序,分左右兩半遞歸求最近對距離 d 合併:考慮跨越中線的點對,只需檢查 x 距離 < d 的點 關鍵優化:合併時按 y 排序,內層循環
HDU 1115 Lifting the Stone:多邊形重心計算幾何模板
幾何公式 多邊形面積:S = ½ Σ (xᵢyᵢ₊₁ - xᵢ₊₁yᵢ) 重心坐標:Gₓ = (1/6S) Σ (xᵢ + xᵢ₊₁)(xᵢyᵢ₊₁ - xᵢ₊
POJ SPF:割點與雙連通分量 Tarjan 算法
問題描述 無向圖中找單點故障(SPF):刪除該點後圖不再連通。輸出每個 SPF 節點及分裂出的子網數。 Tarjan 割點算法 = dfn[u]) { //
POJ 3279 - 矩陣翻轉遊戲(Lights Out 種)搜索解法
給定 15x15 以內的 0-1 矩陣,每次操作翻轉一個格子及其上下左右四鄰域。求最少操作次數使全矩陣變為 0。若有多解,需輸出字典序最小的方案(本題實測不嚴格
Codeforces 414B Mashmokh and ACM:DP 計數好序列
問題描述 長度為 k 的非遞減序列 b₁≤b₂≤...≤bₖ≤n,滿足 bᵢ 整除 bᵢ₊₁。求方案數模 1e9+7。 DP 狀態定義 dp[i][j]:以數
C/C++ #include 指令進階:嵌入二進制數據文件
大家熟知 #include 用於引入頭文件,但鮮有人知它還可以在編譯期「嵌入任意文件內容」到源碼中。本文演示如何將文本文件轉為十六進制數組並通過 #includ
Android BezierDemo 源碼深度解析:貝塞爾曲線實現粘連拉伸效果
本文深入分析 BezierDemo 專案,揭示如何利用二階貝塞爾曲線實現類似 QQ 未讀消息拖拽的「粘連拉伸」動畫效果。 核心類結構 BezierView 繼
HDOJ 3478 Catch - 染色法判斷二分圖在追捕問題中的應用
小偷在無向圖中移動,每時刻必須移動到相鄰節點(不可原地停留)。警察想知道:是否存在某個時刻,使得小偷可能出現在圖中任意節點? 問題建模:二分圖與奇偶性 小偷每
LeetCode Longest Consecutive Sequence - O(n) 哈希表解法詳解
給定未排序整數數組,找出最長連續序列的長度,要求 O(n) 時間複雜度。例如 [100, 4, 200, 1, 3, 2] 最長連續序列為 [1,2,3,4],
POJ 2573 / ZOJ 1877 Bridge - 經典過橋問題的貪心策略與輸出路徑
經典的「過橋問題」:n 人需在夜晚通過一座只能容納兩人的橋,只有一盞燈,每人過橋速度不同,兩人同行按慢者速度。求所有人過橋的最短總時間,並輸出具體過橋方案。
POJ 2488 A Funny Game - 環形硬幣博弈的必勝策略
這是一道經典的組合博弈論問題。Alice 和 Bob 輪流從圍成一圈的 n 枚硬幣中拿取 1 枚或 2 枚相鄰硬幣,拿走最後一枚者勝。Alice 先手,雙方均採
BZOJ 1108 [POI2007] 天然氣管道 Gaz - 曼哈頓距離最小權完備匹配
這是一道看似複雜、實則極其優雅的數學建模題。給定平面上 n 個黑點和 n 個白點,黑點只能與其右下方的白點匹配,代價為曼哈頓距離,求最小權值完備匹配。 核心洞
Sicily 1419 動態規劃深度解析:狀態壓縮與轉移優化
在解決算法競賽題目時,動態規劃(DP)往往是突破難關的關鍵。Sicily 1419 這道題目便是一個典型的「看似常規,實則需要巧妙狀態定義」的動態規劃問題。本文
UVa 515 差分約束系統:SPFA 算法完整解析
差分約束系統定義 形如 Xi - Xj ≤ c 的不等式組。解要麼無解,要麼無限多解(整體平移不變差值)。 圖論轉化 每個變量 Xi ↔ 頂點 Vi 不等式
POJ 3067 Japan:樹狀數組統計高速公路交叉口數
題目大意 東岸 n 座城市(北到南 1..n),西岸 m 座城市(1..m)。k 條高速公路連接東岸 u 和西岸 v。兩條高速 (u1,v1), (u2,v2)
UVA 1626 括號序列修復:區間 DP 求最短合法超序列
問題描述 給定由 (, ), [, ] 組成的序列,插入最少字符使其成為合法括號序列。合法定義:空串合法;S 合法則 (S)、[S] 合法;A,B 合法則 AB
SPFA 算法詳解:求帶負權邊的單源最短路 (隊列優化 Bellman-Ford)
算法原理 SPFA (Shortest Path Faster Algorithm) 是 Bellman-Ford 的隊列優化版。僅將「被鬆弛」的節點入隊,避免
ZOJ 2112 Dynamic Rankings:線段樹套平衡樹 (Treap) 解決區間第 K 大帶修改
問題描述 動態序列,支持:單點修改、區間查詢第 k 大。N≤50000, M≤10000。經典「線段樹套 Treap」或「主席樹套 BIT」問題。 方案一:按