LeetCode 56 Merge Intervals:區間合併排序掃描法
LeetCode 56「Merge Intervals」:給定區間集合,合併所有重疊區間。本文介紹排序 + 掃描線標準解法:按起點排序,線性掃描合併重疊區間。
經典面試題:浮點數累加誤差與 0.01+0.02+...+1.0 精確計算
面試經典題:計算 0.01 + 0.02 + ... + 1.0,直接用浮點數循環累加會產生誤差(結果 ≈ 49.5 或 50.4999)。本文分析浮點數誤差原
POJ 2411 Mondriaan's Dream:狀壓 DP 填充矩形計數
POJ 2411「Mondriaans Dream」:h×w 矩形 (h,w ≤ 11),用 2×1 骨牌鋪滿(可橫放、豎放),求方案數。本文解析輪廓線狀壓 D
POJ 2823:滑動窗口最值 - 單調隊列 O(n) 模板題
POJ 2823:給定長度 n 數組,窗口大小 k,求每個窗口的最小值和最大值。本文介紹單調隊列 O(n) 解法:維護兩個雙端隊列,分別單調遞增(最小值)和單調
算法訓練 Torry的困惑:前 100000 個質數乘積模 50000
算法訓練「Torry的困惑」:求前 n 個質數乘積模 50000 (n ≤ 100000)。本文介紹埃氏篩法預計算質數,利用同餘定理逐步乘積取模,避免大數溢出。
HDU 1520 Anniversary Party:樹形 DP 最大快樂值獨立集
HDU 1520「Anniversary Party」:公司層級樹結構,每人有快樂值。選派參加派對的人員,要求直屬上下級不能同時參加。求最大總快樂值。本文解析經
NOJ 1859 越野賽:三維 DP 最小化換車策略總時間
NOJ 1859「越野賽」:N 段賽道,M 輛車,最多換 Q 次車。車 i 在段 j 耗時 t[i][j]。起始選車不算換車。求最小總時間。本文解析三維 DP:
LeetCode 5 Longest Palindromic Substring:動態規劃 O(n²) 求最長回文子串
LeetCode 5「最長回文子串」:給定字符串 s (長度 ≤ 1000),求最長回文子串。本文介紹動態規劃解法:dp[i][j] 表示 s[i..j] 是否
LeetCode Reverse Integer:整數反轉與溢出處理
LeetCode 7「Reverse Integer」:將 32 位有符號整數數字反轉,溢出返回 0。本文分析負數處理、INT_MIN 特例、長整型中轉檢查溢出
POJ 3744 Scout YYF I:概率 DP + 矩陣快速冪優化線性遞推
POJ 3744「Scout YYF I」:一維隨機游走,位置 i 到 i+1 概率 p,到 i+2 概率 1-p。某些位置有陷阱(踩中失敗)。求從 0 走到
UVA 看圖寫樹:多叉樹括號表示法的 DFS 構建
UVA「看圖寫樹」:給定字符矩陣表示的多叉樹(節點為非空格字符,子節點通過 | 和 - 連接),輸出括號表示法。本文解析 DFS 遞歸解析邏輯:從根節點開始,檢
HDU 5159:期望值線性性質與快速冪優化
HDU 5159 要求計算從 1..x 中每個數被選中的期望總和:每輪從 x 個數中等概率選一個,共 b 輪,求最終選中數字之和的期望。本文應用期望線性性質拆解
Java 與 C/C++ 中 i++ 行為差異深度解析
Java 和 C/C++ 對後綴自增 i++ 在複合表達式中的語義不同,導致相同代碼產生不同結果。本文深度解析兩者的運算機制、字節碼/指令序列差異,並給出完整測
Topcoder SRM 646 Div1 600:BFS + 剪枝求最大達達標距離
Topcoder SRM 646 Div1 600「TheGridDivOne」:在無限網格中,從 (0,0) 出發,最多 k 步,某些格子有障礙物。每步可上下
POJ 1509 Glass Beads:後綴自動機求最小循環表示
POJ 1509「Glass Beads」:給定環形字符串,求字典序最小的起始位置。本文介紹後綴自動機 (SAM) 解法:構建 SAM,從根節點貪心走最小字符邊
C++ 計算幾何基礎庫:點、線段類封裝與核心幾何運算
計算幾何是算法競賽與圖形應用的基礎。本文提供一個輕量級 C++ 幾何庫框架,封裝 Point、PartLine(線段),實現距離、叉積、相交判斷、旋轉、最近點、
NOJ 1601 數字統計:哈希表優化計數排序輸出
NOJ 1601「數次統計」:n 個自然數 (≤1.5×10⁹),不超過 10000 種不同值。統計每值出現次數,按值升序輸出。本文解析開放地址法哈希表實現 O
POJ 2528 Mayor's Posters:離散化 + 線段樹區間覆蓋統計可見海報
POJ 2528「Mayors Posters」:10⁷ 長度的牆,n≤10000 張海報依次貼上(覆蓋)。求最終可見海報數。本文解析坐標離散化 + 線段樹區間