UVa 10125 Sumsets:a+b+c=d 最大 d - 雙指針/哈希優化 O(n²)
問題重述 給定集合 S (|S| ≤ 1000),元素互不相同,範圍 [-536870912, 536870911]。求最大 d ∈ S,使得存在互異 a,b,
POJ 3525:半平面交 + 二分查找求島嶼內點到海最大距離
問題建模 給定凸多邊形島嶼,求島內一點到邊界(海)的**最大距離**。即求多邊形內部的**最大內切圓半徑**。 二分 + 半平面交決策 二分答案 d (距離)
POJ 3384 Feng Shui:半平面交 + 旋轉卡殼求最遠點對
題目轉化 給定凸多邊形,向內平移距離 r 後求剩餘區域(即**半平面交**),然後在剩餘凸多邏形中找**最遠點對(直徑)**,作為兩個圓心位置。輸出坐標需按特定
Eclipse CDT C++ 調試實操指南:斷點設置與快捷鍵大全
快速上手:設置斷點 **動作**:在編輯器左側標尺欄(行號左側)**雙擊**,或右鍵選擇 Toggle Breakpoint。 **標識**:藍色圓點表示啟用
編譯器背後的「潛規則」:GCC 優化陷阱與 const 欺騙實錄
前言 工作中遭遇數次詭異 Bug,最終定位均為編譯器行為差異導致。環境:GCC 3.4.5 (2005)。以下通過最小化復現案例揭示兩大類經典坑。 案例一:整
POJ 2115 C Looooops:線性同餘方程與擴展歐幾里得算法
問題建模 求最小非負整數 n,滿足:(a + n*c) % 2^k = b % 2^k。 化簡得線性同餘方程:n*c ≡ (b - a) (mod 2^k)。
POJ 1401 Factorial:階乘尾部零的個數 - 數學規律 O(log N) 解法
問題轉化 求 N! 末尾有多少個 0,本質是求質因數 2 和 5 的個數的最小值。顯然 2 的個數遠多於 5,故**只需統計 5 的個數**。 暴力失效與數學
HDU 1671 Phone List:字典樹 (Trie) 判斷前綴衝突
題目核心 給定一組電話號碼,判斷是否存在某個號碼是另一個號碼的前綴。若存在衝突輸出 NO,否則 YES。經典字典樹應用,以空間換時間。 Trie 節點設計 [
HDOJ 2874 城市連接:森林上的 LCA (Tarjan 離線算法 + 並查集)
題目模型 給定一個無向圖(實為森林,即多棵樹的集合),邊帶權重。多次查詢兩點間最短路徑長度,若不連通輸出 Not connected。本質是**森林上的 LCA
Windows GDI 繪圖實戰:使用 TransparentBlt 實現圖片透明背景合成
場景與問題 擁有兩張圖片:目標背景圖、帶有特定背景色(如紅色)的前景彩色圖。直接使用 BitBlt 將前景繪製到背景上,會連同前景自帶的背景色一起貼上,導致畫面
UVA 12385 題解:動態規劃尋找最大不衝突子序列
題目大意 給定一個序列,要求找出一組「不衝突」的 interesting 子序列,使其長度最大化。題目原文晦澀難懂,核心在於理解「不衝突」的定義:若選擇了某元素
C 語言實戰:基於鏈表的堆疊(Stack)完整實現
圖解鏈表堆疊結構 核心代碼實現 [cpp] // 利用鏈表構建堆疊 // 輸入 1 2 3 4 5 0 時輸出 5 4 3 2 1 #include <
深入探討 C++ 文件讀取性能:fread 與 mmap 的實戰對比
前言:IO 瓶頸是大數據處理的核心痛點 在進行大規模數據處理時,磁碟 IO 往往成為系統性能的關鍵瓶頸。無論 CPU 核心數多寡、主頻高低,物理硬碟的讀取速度始
POJ 3468 區間加/區間和:Splay Tree 與 Segment Tree 實現對比
問題描述 N 個整數,Q 次操作: C a b v:區間 [a,b] 加 v Q a b:查詢區間 [a,b] 和 N, Q ≤ 100,000,數值 32 位
HDU 4313:並查集與樹形 DP 兩種解法對比
問題描述 給定一棵樹,邊有權。某些節點標記為「機器」。需刪除若干邊,使任意兩機器節點不連通。最小化刪除邊權值之和。 解法一:並查集(Kruskal 逆向思維)
字符串轉整數 (atoi) 手寫實現:邊界處理與錯誤檢查
實現需求 將字符串轉為 int,處理: 前導空格(可選) 符號 +/- 數字序列 溢出檢查(可選,這裡用 assert 示意) 核心代碼 #includ
ZJU 1146 LC-Display:LCD 數碼管模擬顯示
問題描述 輸入尺寸 s (1~10) 和數字串 n (≤ 99999999)。用 - (橫段) 和 | (豎段) 模擬 LCD 顯示。每數字寬 s+2、高 2s