BZOJ 3173 [TJOI2013] 最長上升子序列:動態插入+樹狀數組優化(O(N log N))
題目:初始空序列,依次將 1..N 插入指定位置 X_k (0 ≤ X_k ≤ k-1)。每次插入後輸出當前序列的 最長上升子序列 (LIS) 長度。N ≤ 1
HDOJ 1405 The Last Practice:質因數分解輸出格式詳解(Java)
題目:對輸入正整數 n (1 < n < 65536) 進行質因數分解,按質因子升序輸出 質因子 指數 對,遇負數結束。輸出格式嚴格要求:每行末尾有空格,Cas
LeetCode 257. 二叉樹所有根到葉子路徑:遞歸回溯解法(Java)
題目:給定二叉樹,返回所有從根節點到葉子節點的路徑。路徑格式如 5。例如輸入 [1,2,3,null,5],輸出 3]。 遞歸回溯思路 深度優先遍歷,維護當
BZOJ 3175 [TJOI2013] 攻擊裝置:二分圖最大獨立集裸題解法(匈牙利算法)
題目給定 N×N 01 矩陣,0 表示可放置攻擊裝置。裝置攻擊範圍為「日」字 8 個位置(類似國際象棋騎士移動)。求互不攻擊條件下最多放置裝置數。N ≤ 200
散列表C++實現:探測法解決沖突(線性/平方/雙散列)完整教程
散列表通過散列函數將鍵映射到數組下標,實現平均 O(1) 的插入、刪除、查找。本文實現基於開放定址法的探測散列表,詳細對比線性探測、平方探測、雙散列三種沖突解決
LeetCode 16. 最接近的三數之和:排序雙指針優化解法(Java)
題目要求:給定整數數組 nums 與目標值 target,找出三個整數使其和與 target 最接近,返回該三數之和。假設每組輸入僅有一個答案。 暴力遞歸 v
C++ Primer 第14章習題精解:運算符重載、類型轉換與函數對象全攻略
C++ Primer 第14章聚焦運算符重載與類型轉換,本文精選典型習題,從輸入輸出運算符、算術/關係運算符、賦值/下標/調用運算符到類型轉換運算符、lambd
從零手寫二叉搜索樹(C++):封裝、插入、刪除、查找與遍歷完整實現
二叉搜索樹(BST)是基礎且重要的動態數據結構,滿足「左子樹鍵值 < 根節點 < 右子樹鍵值」特性。本文從節點定義出發,逐步封裝出功能完整的 searchTre
AC自動機詳解:多模式匹配的高效利器(原理、構建與代碼模板)
Aho-Corasick 自動機(AC自動機)是1975年貝爾實驗室提出的多模式匹配算法,核心思想是將多個模式串構建為 Trie 字典樹,並引入 失敗指針 實現
循環鏈表進階:游標遍歷、約瑟夫問題與C語言完整實現
在單鏈表基礎上將尾節點指向頭節點,即構成循環鏈表。它保留單鏈表所有操作,並引入游標機制,支持高效的循環遍歷與當前節點定位,是解決約瑟夫問題等環狀結構問題的理想數
歸並排序深度解析:原理、實現與複雜度分析(Java版)
歸並排序是典型的分治算法,核心思想是「分而治之」:將數組遞歸拆分至單元素,再通過 merge 步驟將兩個有序子數組合併為一個有序數組。本文從合併邏輯、遞歸流程、
循環鏈表完整操作指南:創建、插入、刪除、逆序與顯示(C++實現)
將單鏈表尾節點的指針從空指針改為指向頭節點,便形成了一個首尾相連的環狀結構,這就是單循環鏈表(簡稱循環鏈表)。這種結構消除了線性表的邊界限制,使得從任一節點出發
VS2010 中常用 C++11 特性實戰速查:static_assert、decltype、auto、Lambda、右值引用與移動語義
1. static_assert — 編護期斷言 10, Buffer too small); // 編譯失敗若條件為假 static_assert(size
POJ 2983 差分約束系統求解 - SPFA 判斷負環完整實現
問題建模為差分約束 n 個變量 x₁..xₙ,m 條約束: P a b c:xₐ - x_b = c → xₐ - x_b ≤ c 且 x_b - xₐ ≤
C++ 繼承與多態底層原理(上):繼承類型、構造析構順序、虛函數表與動態綁定機制
三種繼承方式的訪問權限變換 基類成員public 繼承protected 繼承private 繼承 publicpublicprotectedprivate
C++ 模板完整指南:函數/類模板、特化、分離編譯、模板參數與實戰避坑
泛型編程與模板定位 模板是 C++ 靜態多態的核心,實現編譯期代碼生成,兼具泛型復用性與零抽象開銷。STL 即建立在模板之上。 函數模板核心機制 b ? a
POJ 2396 帶源匯上下界網絡流可行流判斷 - 超級源匯+滿流檢查
問題建模 n 行 m 列矩陣,給定每行和、每列和,以及若干約束(如「所有元素 > 1」、「第 1 行第 2 列 = 5」)。判斷是否存在滿足所有約束的矩陣
C++ 排序算法模板庫:插入/冒泡/選擇/歸並/快速排序完整實現與證明
模板設計規範 函數模板 template <typename T> 支持任意可比較類型。 參數:T* array 原始指針 + size_t le