C++ 動態綁定詳解:虛函數、指針/引用調用與對象切片陷阱
核心概念 C++ 動態綁定(多態)通過 虛函數 實現,但 必須通過指針或引用調用 才能觸發。直接用對象調用會發生「對象切片」,退化為靜態綁定。 代碼對比演示
字典樹 (Trie) C++ 完整實現:構建、插入、查找、刪除、統計前綴
Trie 核心概念 Trie(字典樹/前綴樹)是一種哈希樹變種,用於字符串統計與排序,搜索引擎常用於詞頻統計。核心性質: 根節點不含字符,其他節點各含一字符
HDU 2108 Shape of HDU 解題詳解:凸多邊形判定與叉積應用
問題描述 給定逆時針頂點序列的多邊形,判斷是凸多邊形還是凹多邊形。輸出 convex 或 concave。多測試用例,n=0 結束。 核心幾何原理:叉積符號判
HDU 2614 Beat 解題詳解:DFS 搜索最長遞增路徑
問題描述 n 個問題(n < 15),T[i][j] 表示做完問題 i 後做問題 j 所需時間。從問題 0 開始(耗時 0),每次必須選擇耗時 ≥ 上一題耗時的
POJ 3243 大步小步算法 (BSGS) 解題詳解:離散對數問題模板實現
問題描述 給定 X, Z, K(0 ≤ X,Z,K ≤ 10⁹),求最小非負整數 Y 使得 X^Y ≡ K (mod Z)。若無解輸出 No Solution。
LeetCode Palindrome Partitioning II 解題詳解:動態規劃+回文預處理 O(n²) 最優解
問題描述 給定字符串 s,將其分割成若干子串使每個子串都是回文。求最少分割次數。例如 aab → [aa,b] 需 1 次分割。 核心思路:動態規劃 + 回文
POJ 3436 ACM Computer Factory 解題詳解:最大流建模與流量變化輸出
問題描述 N 台機器,每台有 P 個部件。每部件有輸入規約 S(0=不可存在,1=必須保留,2=可有可無)和輸出規約 D(0=不存在,1=存在)。機器有容量 Q
BZOJ 3504 [CQOI2014] 危橋 解題詳解:雙源雙匯最大流與流量可行性判定
問題描述 N 個島嶼(0~N-1),橋分為普通橋(無限通行)和危橋(最多通行 2 次)。Alice 需在 a1、a2 間往返 an 次,Bob 需在 b1、b2
ZOJ 3705 Applications 模擬題完整解析:多維度評分與排序
題目背景 模擬某高校推免/評優過程。每個學生有姓名、所在戰隊、性別、解題數、代碼行數等屬性。戰隊有排名獎勵,女性加分,解題根據題目類型(毛毛題/舊題/質數題/其
UVa 10125 Sumsets 解題詳解:排序+雙指針+枚舉優化求最大 d
問題描述 給定一個整數集合 S(|S| ≤ 1000),找出最大的元素 d ∈ S,使得存在 a, b, c ∈ S(可重複)滿足 d = a + b + c。
POJ 1002 487-3279 電話號碼轉換與重複檢測完整解法
題目大意 給定多組電話號碼,格式包含數字、大寫字母及連字符。需將所有號碼統一轉換為標準格式(XXX-XXXX),找出重複出現的號碼並按字典序輸出及其出現次數。若
C/C++ 經典面試題精解:零值比較、sizeof 計算、內存管理與類實現
核心知識點彙總 本文整理了 C/C++ 程序設計中的高頻考點,涵蓋基礎語法規範、內存模型理解、類設計模式等核心領域,是面試準備與技術沉澱的優質資料。 一、零值
ZOJ 2968 Difference Game 解題詳解:排序與貪心策略求解最大差值
題目背景與核心思路 ZOJ 2968 Difference Game 是一道經典的算法競賽題目,核心在於從兩個數組中選擇元素構成新數組,使得特定條件下的差值最大
LeetCode Permutations:回溯法生成全排列
問題:給定無重複元素數組 nums,返回所有全排列。例:[1,2,3] → 6 個排列。 回溯框架 路徑 path:已選元素; 選擇列表:nums 中未用元
C++ 多文件項目實戰:點/三角形類、繼承、鏈表、模塊化編譯
課程項目:設計點類 CPoint、三角形類 CTriangle,用鏈表管理多個三角形,實現周長、面積、判斷直角/等腰,多文件組織編譯。 文件結構 CPoin
HDU 1430 魔板:康托展開 + BFS 求最少操作步驟
問題:2×4 魔板,初始態 12345678(按順時針讀取),三種操作 A/B/C,求達到目標態的最短操作序列(字典序最小)。 狀態空間與康托展開 8! =
Visual Studio 數據斷點調試技巧:定位無故被修改的變量
當變量「莫名其妙」被修改,且無法通過代碼靜態分析定位寫入點時,數據斷點 是終極武器。 操作步驟 (VS 201x/202x) 添加變量監視:調試時在「監視」
C++ 類型處理大全:typedef/using 別名、auto 推導、decltype 類型提取
現代 C++ 提供強大的類型操作工具,本文系統梳理三大塊。 一、類型別名 typedef double Wages; // C 風格 using S