C/C++ 指標與陣列深度對比:修改、複製、比較、sizeof 與退化機制
核心差異速查表 操作字元陣列 char a[]字元指標 char *p 內容可修改性✅ 可修改 (存儲於棧/資料段)❌ 若指向字串常量 world (唯
最長公共子序列 (LCS) 完整攻略:遞歸、DP O(n²) 與 O(N log N) 專用解法
問題定義 給定兩序列 X (長 n) 與 Y (長 m),尋找最長子序列 (元素相對順序不變、不必連續)。子序列總數 2^n,暴力不可行。 遞歸思路 (指數複
URAL 1136 Parliament:BST 後序遍歷重建樹並輸出前序
題目轉述 給定一棵二叉搜索樹(BST)的後序遍歷序列(節點值互不相同),要求重建樹並輸出其前序遍歷序列。節點數 `n ≤ 70000`。 核心觀察:BST 後
UVA 539 The Settlers of Catan:無向圖最長簡單路徑 DFS 暴力搜尋
問題本質 給定無向圖 (n ≤ 30 點, m 邊),邊不可重複使用,點可重複訪問。求**最長路徑邊數** (即最大邊數鏈)。 為何可暴力 DFS? n ≤
HDU 2824 The Euler Function:歐拉函數前綴和與暴力優化實戰
問題描述 多組查詢,每組給定 x, y (1 ≤ x ≤ y ≤ 3,000,000),求 Σ_{i=x}^y φ(i)。φ 為歐拉函數 (與 i 互質的正整數
HDU 2546「飯卡」:0/1 背包變體與關鍵貪心洞察
問題重述 有 n 種菜,每種價格 a[i]。飯卡餘額 v。規則: 必須購買最貴的一道菜 (價格 max_a) 作為「主餐」,享受 5 元優惠 (實付 max_
POJ 3176 Cow Bowling:三角形最大路徑和 DP 經典入門
問題描述 給定 n 行數字三角形 (第 i 行有 i 個數),從頂點走到底邊,每步只能移至下一行相鄰兩數之一。求路徑權重和最大值。n ≤ 350。 動態規劃:
C++ 虛解構函數與建構/解構期間虛函數呼叫:Effective C++ 條款 7 與 9 深度解析
條款 7:多態基類必須宣告 virtual 解構函數 錯誤示範:非虛解構導致資源洩漏 class Base { public: Base() { co
C++ 運算子多載完整範例:算術、比較、賦值、串流與友元函數
設計原則速查 運算子建議形式回傳型別備註 + - * /非成員 friend值支援隱含轉換、對稱性 += -= *= /=成員函數*this 參考修改左
C/C++ 時間日期處理完全指南:time_t、tm、UTC 與本地時間轉換實戰
核心概念釐清 術語定義關鍵點 UTC / GMT協調世界時 / 格林威治標準時時區基準,中國為 UTC+8 Calendar Time (日歷時間)從
POJ 1080 Human Gene Functions:加權最長公共子序列 DP 解法
問題轉化 傳統 LCS 求長度,本題引入 字元匹配權重矩陣: 字元集:{A, C, G, T, -} (5×5 = 25 種配對)。 相同字元匹配 (如 A-
中序算術表達式求值 (含括號、負號) 的堆疊演算法完整實作
演算法核心:雙堆疊法 (運算元堆疊 + 運算子堆疊) 採用 Dijkstra 的 Shunting-yard 思想簡化版: 掃描字串,遇數字壓入 num 堆疊
POJ 2286 The Rotation Game:IDA* 迭代加深 A* 搜尋完整解析
問題本質 24 格旋轉拼圖,8 種操作 (A~H) 各自循環移動 7 格。目標:使中心 8 格 (索引 6,7,8,11,12,15,16,17) 數字全部相同
堆與堆排序完全指南:從優先級佇列到 O(n log n) 排序實作
優先級佇列的三種實作比較 實作方式插入刪除極值備註 無序陣列/鏈表O(1)O(n)適合插入多、刪除少 有序陣列/鏈表O(n)O(1)適合刪除多、插入少
HDU 2525「Clone Wars」:士兵克隆與動態規劃完整解析
問題重述 初始擁有 N 名士兵 (視為第 0 天剛克隆成功)。每名士兵: 壽命 D 天 (第 D+1 天死亡,當天不造成傷害)。 克隆材料需培養 K 天才能成
C++ 中 struct 與 class 的深度解析:差異、預設行為與最佳實務
核心差異一覽 特性structclass 成員預設存取權限publicprivate 繼承預設存取權限publicprivate 關鍵字本質Bjarne
OpenCV 實作「美女找茬」:左右圖像差異比對程式詳解
專案背景與目標 這是一個經典的 OpenCV 入門專案:給定一張包含左右兩幅幾乎相同圖片的合成圖(俗稱「找茬圖」),程式需自動將其分割為左右兩部分,並透過像素級
BZOJ 2096 [Poi2010] Pilots:單調隊列 / 優先隊列解決最長子段差值不超 K
問題描述 給定長度 N ≤ 3,000,000 的序列 a[1..N],及閾值 K ≤ 2×10^9。求最長連續子段,使得子段內任意兩元素差值 ≤ K(即 ma