LeetCode 136. Single Number - 異或消除成對元素
題目 陣列中只有一個元素出現一次,其餘皆出現兩次。線性時間、O(1) 空間找出該元素。 核心性質 x ^ x = 0 x ^ 0 = x 異或滿足交換律、結
BZOJ 2508 簡單題:動態維護直線集合的最小距離平方和
問題描述 平面上動態維護直線集合,支持三操作:加直線(兩點式)、刪直線、查詢到所有直線距離平方和最小的點坐標。直線以一般式 Ax+By+C=0 存儲,歸一化後距
Boost.Interprocess 共享記憶體 HashMap 實現跨進程 Key-Value 存取
場景 多進程需共享 unordered_map,要求高性能、自動同步。用 Boost.Interprocess 管理共享記憶體段,配合 boost::unord
BZOJ 2683 簡單題 - CDQ 分治 + 樹狀數組 維護矩陣單點修改/子矩陣查詢
題目 維護二維矩陣,支援: 1. 單點加值 (x,y,val) 2. 子矩陣求和 (x1,y1,x2,y2) 離線、非強制在線。n,m ≤ 5×10⁵。 CD
算法導論 11.1-4 - 大數組直接定址字典 O(1) 初始化技巧
問題 陣列極大 (如 2³²),無法 O(N) 初始化。需實現直接定址字典: SEARCH/INSERT/DELETE 均 O(1),初始化 O(1),每元素
POJ 2823 Sliding Window:單調隊列 O(n) 求滑動窗口最大/最小值
題目大意 給定長度 n ≤ 10⁶ 的數組和窗口大小 k,窗口從左向右滑動,每次移動一位。輸出每個窗口位置的最小值和最大值。 樣例: 數組:[1 3 -1
POJ 1492 Up and Down Sequences:模擬統計上升/下降段平均長度
題目大意 輸入一個整數序列(以 0 結束,多組數據),統計序列中非嚴格遞增段和非嚴格遞減段的平均長度。長度至少為 2 的段才計入。 算法邏輯 掃描序列,識
NYOJ 55 懶省事的小明:哈夫曼樹思想與優先隊列求最小合併代價
題目大意 有 n 種水果,第 i 種有 a_i 個(每個重 1)。每次可合併兩堆,代價為兩堆重量之和。求合併成一堆的最小總代價。多組測試(n ≤ 12000,
NYOJ 144 小珂的苦惱 - 擴展 GCD 判斷二元一次方程整數解
題目 給 a, b, c (≠0),判斷 ax + by = c 是否存在整數解。多組測資 T ≤ 10⁶。 數學依據 裴蜀定理:ax + by = gcd(
LeetCode 23 合併 K 個有序鏈表:優先隊列(最小堆)O(N log k) 最優解
題目描述 合併 k 條已排序的鏈表,返回合併後的有序鏈表。分析時間複雜度。 方法一:兩兩合併(超時) 依次將當前結果與下一條鏈表合併,時間 O(k × N
POJ 1637 Sightseeing tour:混合圖歐拉回路判定與最大流建模
題目大意 給定一個混合圖(含有向邊和無向邊),判斷是否存在歐拉回路(遍歷每條邊恰好一次並回到起點的迴路)。 核心理論:混合圖歐拉回路條件 連通性
HDU 1496 Equations:暴力 + 哈希優化求四變量二次方程解數
題目大意 給定 a, b, c, d ∈ [-50, 50] \ {0},求滿足 a·x₁² + b·x₂² + c·x₃² + d·x₄² = 0 的整數解
Windows API 創建線程完整指南:CreateThread 參數詳解與主線程結束行為測試
CreateThread 函數原型與參數詳解 HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadA
NYOJ 253 LK的旅行:旋轉卡殼法求凸包直徑(最遠點對距離平方)
題目大意 給定平面上 m (3 ≤ m ≤ 100,000) 個點(坐標 0~10000,可能重複),求最遠點對的距離平方。多組測試數據。 核心算法:旋轉卡
ConcurrentHashMap 線程安全誤區與 synchronized 正確加鎖實踐
問題現象 使用 ConcurrentHashMap 進行多線程計數,8 個線程各自增 100 次,預期結果 800,實際運行多次結果均不等於 800。 Co
LeetCode Two Sum 詳解:哈希表 O(n) 解法與同元素去重陷阱
題目描述 給定整數數組 numbers 和目標值 target,找出兩個數的索引(1-based),使其和等於 target。假設恰好存在一組解,且 inde