POJ 1006 畢氏數列/中國剩餘定理:從數學推導到 AC 代碼
題目背景 經典問題:給定三個週期分別為 23、28、33 天的生理週期(體力、情感、智力),及當前在第 d 天的狀態值 p, e, i,求下一次三峰值同步出現距
BZOJ 1007 [HNOI2008] 水平可見直線:斜率排序 + 棧貪心詳解
題目大意 給定 N (0 < N < 50000) 條直線 y = kx + b,從左向右看(x → -∞),若某直線在某段區間內是最下方的,則稱該
Qt QString 去除空白字符完全指南:simplified() vs trimmed()
前言 在 Qt 開發中,字符串處理是高頻需求。QString 提供了兩個去除空白字符的核心函數:simplified() 與 trimmed()。雖名稱相似,但
C/C++ Hash表實現詳解:從基礎原理到 STL hash_map 應用
前言 Hash 表(哈希表)作為一種極其重要的數據結構,在許多高級語言(如 Java、Python、C#)中均作為原生集合類型提供。其核心優勢在於:訪問速度極快
輸出二叉樹所有根到葉子路徑長度:遞歸 DFS 累加路徑和
問題描述 給定二叉搜索樹(或任意二叉樹),輸出從根節點到每個葉子節點的路徑上節點值之和。 遞歸解法 遞歸函數 dfs(node, currentSum):c
二叉搜索樹轉雙向鏈表:完全非遞歸中序遍歷實現
問題描述 將二叉搜索樹(BST)就地轉換為雙向鏈表:左指針指向前驅,右指針指向後繼,按中序序列(遞增順序)鏈接。要求**完全非遞歸**實現。 核心思路:模擬遞
C 語言動態內存管理:malloc/calloc/realloc/free 完整指南
內存區域回顧 區域管理方式典型內容 棧編譯器自動函數參數、局部變量、臨時變量 堆程序員手動malloc/new 分配的動態內存 全局/靜態區系統加載/卸
HDU 4501 小明買年貨:三維動態規劃雙背包 + 免費獲取次數
問題描述 有 n (≤100) 種年貨,每種有價格 a、重量 b、價值 w。小明擁有 V1 元錢、V2 體力(重量上限)、K 次免費獲取機會(不花錢不費力)。每
Windows 遍歷進程並終止指定進程:ToolHelp32 API 實戰
需求場景 需在 C++ 控制台程序中查找並強制結束指定名稱的進程(如 cmd.exe)。 核心 API 流程 CreateToolhelp32Snapsho
HDU 2043 密碼驗證:長度、字符類型組合檢查
問題描述 判斷密碼是否合法:長度 8~16;至少包含數字、小寫字母、大寫字母、特殊符號 ~!@#$%^ 中的 **三類**。多組測試數據。 解法:單遍歷統計四
iOS 調試技巧:在 GDB/LLDB 中查看 Objective-C 方法參數與調用棧
背景 調試 Objective-C 代碼時,斷點停在方法入口或 objc_msgSend,需手動解析寄存器/棧獲取 self、_cmd 及參數值。本文總結 x8
HDU 1856 More is better:並查集求最大連通分量
問題描述 初始有 10,000,000 個男孩(編號 1~10^7)。給定 n (≤100,000) 對直接好友關係。選擇盡可能多的男孩使得任意兩人直接或間接好
C++ 單鏈表模板實現:節點類、迭代器與核心操作
設計目標 實現泛型單鏈表,支援插入、刪除、查找、遍歷等基本操作,代碼符合現代 C++ 風格(模板、RAII、const 正確性)。 核心類結構 ListNod
C++ 類型轉換深度挖掘:隱式、顯式與四大強制轉換運算符
隱式轉換:編譯器自動完成的類型變換 常見場景 賦值/初始化:float b = a; // int→float 表達式混合運算:b = c + a; // c
POCO C++ 庫深度解析:Cache 框架設計與策略模式
緒論 STL 容器(map/set)無容量上限、元素不自動過期。POCO Cache 框架在保持類似介面的基礎上,引入**過期策略**,實現自動淘汰,適用於緩存
最大子段和問題:Kadane 算法 O(n) 線性求解
問題描述 給定整數數組,求連續子數組的最大和,並輸出該子數組的起止索引與元素。 Kadane 算法核心思想 維護「以當前位置結尾的最大子段和」b 及其起始位置
吝嗇的國度:樹上 DFS 求每個節點到根的父節點
問題描述 N 個城市,N-1 條路構成樹。給定起點 S,求從 S 走到每個城市 i 必經的上一個城市(即以 S 為根的樹中 i 的父節點),S 輸出 -1。