C++ STL vector 容器完全指南:動態數組的核心用法與實戰
C++ vector 容器深度解析 為什麼選擇 vector? std::vector 是 C++ 標準庫中最常用的順序容器,本質是**動態數組**,提供:
LeetCode 92 Reverse Linked List II:區間反轉鏈表的指針操作技巧
LeetCode 92 反轉鏈表 II:區間原地反轉 題目描述 給定單鏈表頭節點 head,將位置 m 到 n 的節點反轉(1-indexed)。要求一次遍歷
LeetCode 164 Maximum Gap:桶排序實現線性時間最大間距
LeetCode 164 Maximum Gap:桶排序 O(N) 解法詳解 題目要求 給定無序數組,求排序後相鄰元素的最大差值。要求線性時間/空間。若元素
UVA 10954 Add All:優先隊列(最小堆)實現最小合併代價
UVA 10954 Add All 題解 題目大意 給定 N 個正整數,每次可取出兩個數相加,代價為兩數之和,將和放回集合。重複直到剩一個數。求最小總代價。N
HDU 4320 Arcane Numbers:進制轉換中有限小數的判定條件
HDU 4320 Arcane Numbers 題解 題目大意 給定兩個進制 A 和 B,判斷一個 A 進制下的有限小數,轉換為 B 進制後是否仍為有限小數。
ZOJ 1409 Communication System:貪心枚舉帶寬 + 最小價格選裝
ZOJ 1409 Communication System 題解 題目大意 有 n 類設備,每類有 m_i 個生產廠家提供,每個廠家提供帶寬 b 和價格 p。
二叉樹遍歷大全:遞歸與非遞歸實現(前序、中序、後序、層序)
二叉樹遍歷算法完全指南 二叉樹遍歷是數據結構基礎中的核心內容。本文系統整理了遞歸與非遞歸(棧/隊列)四種遍歷方式的 C++ 實現,並附帶樹的創建、深度計算、節點
POJ 1083 Moving Tables:走廊搬運調度的差分數組解法
POJ 1083 Moving Tables 題解 題目背景 走廊兩側各有 200 個房間(共 400 個),房間編號 1~400。需搬運 N 張桌子,每張桌
LeetCode 尋找旋轉排序數組中的最小值:從 O(n) 到 O(log n) 的二分優化
LeetCode 153:尋找旋轉排序數組中的最小值 題目描述 假設一個升序數組在未知的樞紐處進行了旋轉(例如 [0,1,2,4,5,6,7] 可能變為 [4
Codeforces Round #290 (Div. 2) 題解:A. 狐狸與蛇、B. 狐狸與兩點、C. 狐狸與名字
Codeforces Round #290 (Div. 2) 題目解析與解法 本輪比賽包含三道經典題目,涵蓋模擬構造、圖論環檢測、拓撲排序等核心演算法思想。以下
hihoCoder 1094 Lost in the City - 3×3 區域旋轉暴力匹配
問題描述 地圖 N×M (≤200),給定以 Little Hi 為中心的 3×3 區域 (Hi 朝向未知,即區域可旋轉 0°/90°/180°/270°)。找
POJ 1717 Dominoes - 01 背包變形求最少翻轉次數
問題轉化 n 張多米諾骨牌,上下數字 a_i, b_i。可翻轉交換上下。求使上下行和差絕對值最小的最少翻轉次數。n ≤ 1000, |a-b| ≤ 6。 差值
UVA 10214 Trees in a Wood - 歐拉函數計算可見樹木比例
問題數學建模 原點觀察 |x|≤a, |y|≤b 整數格點。樹可見 ⇔ gcd(x,y)=1。利用對稱性: 第一象限可見數 = Σ_{x=1}^a φ(x) *
POJ 2828 Buy Tickets - 線段樹第 k 空位查詢插入隊列
問題建模 N 人依次入隊,第 i 人插入當前隊列第 Pos_i 位置 (0 為隊頭前)。最終輸出隊列順序。N ≤ 200,000。 逆序構想 + 線段樹 倒序
POJ 3691 DNA Repair - AC 自動機 + DP 最小修改次數
問題建模 DNA 串長 ≤ 1000,禁止片段 ≤ 50 個,長 ≤ 20。修改字符 (A/G/C/T) 使結果不含任何禁止片段,求最小修改次數。不可行輸出 -
UVA 11624 Fire! - 雙 BFS 火勢擴散與逃生最短路
問題建模 網格迷宮,Joe (J) 與火 (F) 同時每分鐘擴散 1 格 (上下左右)。牆 (#) 不可通行。Joe 到達邊界即逃生。求最早逃生時間或 IMPO
BZOJ 3450 Easy - 期望 DP 線性遞推計算連續 O 得分
問題建模 字符串含 O、X、?。連續 len 個 O 得分 len²。? 等概率為 O/X。求期望總分。 DP 狀態定義 f[i]:前 i 字符期望總分 l
LeetCode Merge Sorted Array - 逆向雙指針原地合併
題目條件 數組 A 長度 m+n (前 m 有效),數組 B 長度 n。將 B 合併到 A 形成有序數組,O(1) 額外空間。 逆向雙指針核心邏輯 = 0)