Codeforces #200 Div.2 練習賽全題解:A~D 題思路與代碼
Codeforces #200 Div.2 練習賽全題解:A~D 題思路與代碼 記錄 Codeforces Round #200 (Div.2) 四道題目的解題
POJ 1986 Distance Queries 樹上最近距離:LCA 離線 Tarjan 算法
POJ 1986 Distance Queries 樹上最近距離:LCA 離線 Tarjan 算法 給定帶權樹(邊數 M,點數 N ≤ 10⁴),需回答 K (
BZOJ 2613 Poi2003 Shuffle 置換 k 次方根:數論與循環分解
BZOJ 2613 Poi2003 Shuffle 置換 k 次方根:數論與循環分解 給定長度 n 的置換 b 與正整數 k,求置換 a 使得 a^k = b(
LeetCode Palindrome Partitioning 回文分割:DFS + 回溯完整解析
LeetCode Palindrome Partitioning 回文分割:DFS + 回溯完整解析 給定字串 s,將其分割成若干子串,使每個子串皆為回文。返回
SGU 255 Winsock 3 Beta 數學推導與二次方程求解
SGU 255 Winsock 3 Beta 數學推導與二次方程求解 SGU 255 給定函數 f(x) = g(x+1) + g(x+2) + ... + g
UVA 1025 A Spy in the Metro 動態規劃:最小等待時間詳解
UVA 1025 A Spy in the Metro 動態規劃:最小等待時間詳解 UVA 1025 經典 DP 題:間諜需在時刻 T 前從車站 1 到達車站
POJ 2777 Count Color 線段樹區間更新區間統計:位運算優化詳解
POJ 2777 Count Color 線段樹區間更新區間統計:位運算優化詳解 POJ 2777 要求維護長度 L 的木板,支援兩種操作:(1) 將區間 [A
HDU 1272 小希的迷宮:並查集判斷無向圖是否為樹
HDU 1272 小希的迷宮:並查集判斷無向圖是否為樹 HDU 1272 要求判斷給定的無向圖是否滿足「任意兩點有且僅有一條簡單路徑」——即圖必須是一棵樹。輸入
費波那契數列與階乘的遞歸、迭代與尾遞歸實作對比
費波那契數列與階乘的遞歸、迭代與尾遞歸實作對比 本文以階乘為例,深入剖析遞歸與迭代兩種計算模式的本質差異,並展示 C、C++、Scheme 三種語言的實作,幫助
HDU 2795 Billboard 線段樹單點更新區間最大值應用詳解
HDU 2795 Billboard 線段樹單點更新區間最大值應用詳解 HDU 2795 是線段樹經典應用題:有一塊 h×w 的佈告欄(h, w ≤ 10⁹),
UVA 1347 Tour 雙調旅行推銷員問題:動態規劃解法詳解
UVA 1347 Tour 雙調旅行推銷員問題:動態規劃解法詳解 UVA 1347 是經典的「雙調 TSP」問題:給定平面上 N 個點(按 x 座標排序),求最
C++11 auto 型別推導完整指南:從基礎到進階應用
C++11 auto 型別推導完整指南:從基礎到進階應用 在 C++11 之前,變數宣告必須明確指定型別,當表達式型別複雜(如迭代器、模板類型)時極易出錯且冗長
C++ 實作集合聯集運算:解析 {A} + {B} 題目
C++ 實作集合聯集運算:解析 {A} + {B} 題目 本文將詳細解析一道經典的 C++ 程式設計題目:給定兩個集合 A 和 B,要求實作它們的聯集運算 {A
POJ 1113 Wall:凸包周長 + 圓弧展開求最小圍牆長度
問題描述 給定 N 個點 (城堡頂點),建造距離所有點至少 L 的圍牆,求最短圍牆長度。輸出四捨五入到英呎 (精度 8 英吋 = 2/3 英呎)。 幾何轉化
C++ 循序表模板類:動態陣列完整實現與操作封裝
類設計 動態陣列 base,容量 capacity,當前大小 size 預設初始容量 8,滿時可擴容 (此處簡化為報錯) 核心操作實作 插入操作 = ca
UVA 11504 Dominos:強連通分量縮點後統計入度為零的分量
問題描述 多米諾骨牌有向圖,推倒一張會連鎖觸發可達牌。求最少手動推倒幾張能使全部倒下。n ≤ 10⁵, m ≤ 10⁵。 解法邏輯 同一 SCC 內任推一張
UVA 11709 Trust Groups:Kosaraju/Tarjan 求強連通分量數
問題描述 有向圖中,若 A 信任 B、B 信任 C... 形成強連通分量 (SCC)。求 SCC 個數。多組測資,n, m ≤ 10⁵。 Tarjan 算法