LeetCode Longest Consecutive Sequence:O(n) 哈希集合解法
LeetCode 128. Longest Consecutive Sequence 題目與解法 給定未排序整數數組,求最長連續數字序列的長度(非子數組,而是集
Codeforces 385D Bear and Floodlight:狀態壓縮 DP 解析
Codeforces 385D Bear and Floodlight 題目詳解 有 n (≤20) 個探照燈,每個位於 (x_i, y_i),照射角度為 z_
HDU 2660 Accepted Necklace:限制件數的 01 背包變形
HDU 2660 Accepted Necklace 題目分析 給定 N (≤20) 顆寶石,每顆有價值 a 和重量 b。必須恰好選 K 顆,總重量不超過 W
HDU 5057 Argestes and Sequence:區間數位查詢與單點修改的分塊解法
HDU 5057 Argestes and Sequence 題目詳解 這是一道經典的數據結構題目,要求對一個長度為 N 的非負整數序列進行兩種操作:單點修改(
HDOJ 3157 Crazy Circuits:有源匯上下界最小流建模詳解
電路約束轉化為流網絡 元件為有向邊(正極→負極),下界 = 上界 = 所需電流 I_i。結點為電流守恆點(流入=流出)。目標:滿足所有下界條件下,從正極(+)流
HDU 2059 龜兔賽跑:動態規劃優化加油策略
問題建模 路程 L,兔子速度 vr,烏龜分段速度:前 c 米 vt1,之後 vt2( vt2)。中途 n 個加油站(視為休息點),每次休息固定耗時 t。求烏龜最
POJ 1170 Shopping Offers:狀態壓縮 DP 解背包變種
POJ 1170 Shopping Offers - 狀態壓縮 DP 轉完全背包 本題核心是將「購買指定數量商品,可使用優惠套餐」轉化為多維度完全背包問題。關鍵
HDU 2665 Kth Number:劃分樹(主席樹前身)解題詳解
HDU 2665 Kth Number - 劃分樹區間第 K 大查詢 劃分樹是解決區間第 K 大問題的經典數據結構,屬於主席樹的前身思想。本題要求在靜態數組中查
POJ 2736 Housewife Wind:樹鏈剖分解題詳解
POJ 2736 Housewife Wind - 樹鏈剖分經典應用 本題要求在樹上支持兩種操作:查詢兩點間路徑邊權和、修改某條邊的權值。數據範圍達 10⁵,需
深入淺出理解排序算法:冒泡排序原理與實現
冒泡排序:從入門到精通 冒泡排序是最基礎的排序算法之一,雖然時間複雜度為 O(n²),但在教學與小規模數據排序中極具價值。本文將詳細解析其核心思想、代碼實現與優
ZOJ 3229 Shoot the Bullet:有源匯上下界最大流完整建模與 SAP 實作
題目大意 阿雅要在 n 天(n ≤ 365)內拍照 m 位少女(m ≤ 1000)。每位少女 i 有總照片數下限 Gᵢ。第 k 天有 Cₖ 個可拍目標,每日目標
HDU 1253 勝利大逃亡:三維 BFS + 剪枝優化完整解析
題目大意 在 A×B×C 的三維網格中(A,B,C ≤ 50),從 (0,0,0) 走到 (A-1,B-1,C-1)。格子為 0(可通行)或 1(阻礙)。六個方
深入淺出排序算法:選擇排序原理、C++ 實作、複雜度分析與優化技巧
前言 選擇排序是最直觀的排序算法之一:每輪從未排序部分找到最小元素,放到已排序部分末尾。雖時間複雜度 O(n²) 非最優,但理解其邏輯有助於掌握循環不變量、原地
ACM POJ 1146 ID Codes:下一字典序排列算法完整解析與 C++ 實作
題目大意 輸入一個字串(數字/字母),輸出其下一個字典序排列。若不存在(已為最大排列),輸出 No Successor。輸入 # 結束。 字典序下一排列算法(
HDU 4552 怪盜基德的挑戰書:後綴數組 + Height 數組求前綴出現次數和模 256
題目大意 給定小寫字母字串 S(長度 L ≤ 100,000)。對每個前綴 S[1..i],統計其在 S 中出現的次數 kᵢ。求 AIM = Σ kᵢ (i=1
HYSBZ 1036 樹的統計 Count:樹鏈剖分 + 線段樹維護路徑最大值/求和完整解析
題目大意 給定一棵 n 節點樹(n ≤ 30000),每個節點有權值。支援兩種操作: QMAX u v:查詢 u-v 路徑上最大權值 QSUM u v:查詢
C++ 可以這樣學(二):學習起步——IDE 選擇、Hello World 逐行解析、編譯流程揭秘
前言 工欲善其事,必先利其器。學習程式設計的第一步,是搭建順手的開發環境,並寫出人生第一個程式——Hello World。本文詳細講解 IDE 選擇建議、編譯流
LeetCode Binary Tree Maximum Path Sum:後序遞歸 O(n) 完整解析與 C++ 實作
題目大意 給定一棵二叉樹,找出最大路徑和。路徑可從任意節點開始,到任意節點結束,但必須沿父子連接(不能跳躍)。路徑至少包含一個節點。 範例: 1 /