強連通分量經典:HDOJ 1926 迷宮城堡 Kosaraju 算法詳解
題目本質:判斷有向圖是否強連通 給定有向圖,判斷任意兩點是否互達,即判斷 強連通分量(SCC)數量是否為 1。Kosaraju 算法通過兩次 DFS 線性時間解
Floyd-Warshall 實戰:POJ 1125 Stockbroker Grapevine 最快傳播源
題目建模:有向加權圖的單源最短路徑極值 證券經紀人網絡構成有向加權圖: 節點:經紀人(1..N,N≤100) 有向邊:A→B 表示 A 可直接傳遞消息給 B
POJ 1041 John's Trip:歐拉迴路問題完整解析與 C++ 實作
問題描述 約翰新買了一輛車,想開車拜訪鎮上所有的朋友。每條街道上住著一位朋友,他希望能走遍每條街道恰好一次,並回到起點(父母家)。這是一個經典的歐拉迴路問題。
並查集應用變體:POJ 2912 裁判判定問題
題目轉化:枚舉裁判與矛盾檢測 POJ 2912 在食物鏈模型基礎上增加「裁判」概念:N 個選手(N≤500),M 條比較關係,其中一名選手是「裁判」(其陳述全真
並查集與動態規劃結合:POJ 1417 True or False 完整攻略
題目建模:邏輯推理與集合劃分 POJ 1417 給出若干「是/否」陳述,要求判斷能否唯一確定誰說真話。核心洞察: Yes → 兩人屬於同一集合(同為真或同為假
並查集進階應用:POJ 1984 導航系統中的坐標維護
題目核心:二維平面上的相對位置維護 POJ 1984 是 USACO 月賽題目,要求維護二維平面上點之間的相對坐標關係。與食物鏈(POJ 1182)僅維護單一關
並查集經典實戰:POJ 1182 食物鏈完整解析
題目背景與核心挑戰 POJ 1182「食物鏈」是並查集(Disjoint Set Union,DSU)應用的經典題目。這道題的核心難點在於如何維護節點之間的關係
HDU 4317 Unfair Nim:狀態壓縮 DP 解異或博弈變種
題目大意 給定 N ≤ 14 堆石子,初始大小 a[i]。可在任意堆**增加**石子 (不可減少),使所有堆大小**異或和為 0** (先手必敗態)。求**最小
HDU 4318 Power Transmission:對數轉化最短路 + SPFA 求最小損耗
問題建模 發電站 s 向 t 傳輸電力,邊有損耗率 p% (即保留率 r = 1 - p/100)。路徑總保留率 = 邊保留率乘積。 目標:**最小化損耗**
Effective C++ 條款精讀:面向對象與繼承的三大核心避坑指南
條款 1:切勿重新定義繼承而來的 non-virtual 函數 現象 [cpp] class Base { public: void print() {
HDU 2674 N! Again:階乘取模 2009 的數學技巧 O(1) 解法
題目 求 N! mod 2009,0 ≤ N ≤ 10^9,多行輸入至 EOF。 關鍵觀察:模數分解與零點 2009 = 7 × 7 × 41 = 49 ×
HDU 3791 二叉搜索樹:前序遍歷判定同構與內存管理
題目大意 給定一個基準字符串構建 BST,再給 n 個查詢字符串,各自構建 BST,**判斷前序遍歷序列是否與基準樹完全相同**。字符集為大寫字母,長度 ≤ 1
Matrix 2012 多校訓練賽:Kruskal 變形斷開機器人連通分量
問題重述 給定樹 (N 點 N-1 邊),K 個點有機器人。需刪除若干邊,使**任意兩機器人不連通**。刪除邊代價為權重,求**最小總代價**。 核心洞察:逆
POJ 3159 玄學優化:差分約束 + SPFA 改棧 (DFS序) 通過 TLE
題目背景 標準差分約束求最短路 (約束為 ≤ 類)。節點數 n ≤ 30000,邊數 m 較大。普通隊列 SPFA **TLE**,改用**棧 (深度優先序)*
POJ 1716 差分約束續篇:同構模型權重變化與循環隊列優化
題目關聯 與 POJ 1201 結構完全相同,僅約束權重不同:區間 [u, v] **至少 2 個整點** (原為 w)。 ⇒ 邊權重固定為 2:addEdge
POJ 1201 差分約束系統 + SPFA 求區間整點最小覆蓋
問題建模 區間 [0, 50000] 上選取整點。約束:區間 [u, v] 至少含 w 個整點。求滿足所有約束的**最少**整點總數。 差分約束系統構造 定義
POJ 1061 青蛙的約會:擴展歐幾里得算法求線性同餘方程最小正解
數學建模 兩青蛙初始位置 x, y,步長 a, b,模數 L。 第 t 步相遇:x + a*t ≡ y + b*t (mod L) ⇔ (a - b)*t ≡
ICPC 訓練日誌:HDU 2112 SPFA 最短路徑與字符串映射實戰
題目核心 給定地點名稱 (字符串) 的無向加權圖,求起點到終點最短路徑。地點數 ≤ 150,路徑數 ≤ 10000。核心難點:**字符串地點名 → 整數索引映射