最長公共子序列 (LCS) 完整指南:動態規劃 O(nm)、路徑重構、空間優化、Hunt-Szymanski O((r+n)log n) 進階算法
問題定義 給定兩序列 X[1..m], Y[1..n],找最長公共子序列 (不要求連續)。 輸出長度及任意一個 LCS。 經典 DP:O(nm) 時間、O(n
C++ 標準庫深度解析:unordered_map 與 unordered_set
核心特性:雜湊表實現的無序關聯容器 <unordered_map> 和 <unordered_set> 是 map/set 的無序版本,
C 語言基礎:多維陣列實現多位數字矩陣式列印
問題背景 在終端機以字符矩陣形式列印數字(如 LCD 風格),單一數字可用雙層迴圈,但多位數字組合列印需解決「橫向拼接」問題。 解決方案:三維字符陣列 單一
Qt 入門基礎篇(一):Qt 4 與 Qt 5 Windows 完整安裝配置指南
Qt 簡介 Qt 是跨平台 C++ GUI 應用程式框架,提供建構圖形介面所需的完整功能。廣泛用於開發 GUI 程式,也可用於非 GUI 程式。本系列以 Qt
連續取模問題:遞減序列優化與二分查找 O(m log n) 解法
前言 給定序列 A(長度 n)和查詢序列 B(長度 m),對每個 b_i 計算 b_i % a_1 % a_2 ... % a_n。直接模擬 O(nm) 會超時
費波那契數列(Fibonacci Sequence)原理與 C 語言實作
數列由來:兔子繁殖模型 13 世紀義大利數學家 Fibonacci 在《計算之書》中提出:一對新生兔子,經過一個月成熟,第二個月開始每月產一對。假設不死、無近親
C++14 SFINAE 實作:可解參考迭代器遞迴解參考
問題定義 實作函數 f(r):若 r 為可解參考類型(如迭代器、指標),遞迴呼叫 f(*r) 直到不可解參考,返回最終值;否則直接返回 r。 核心挑戰 返回
GCC 編譯器完整使用指南:從原始碼到可執行檔
前言 GCC (GNU Compiler Collection) 是自由軟體世界的基石。理解其編譯流程與選項,能讓你掌控程式建構的每個細節,也為除錯與效能優化打
WeChall Prime Factory 解題報告:百萬以上質數與數位和質數
題目要求 找出大於 1,000,000 的前兩個質數,其各位數字之和也是質數。答案為兩數直接拼接。例如 23 是質數,2+3=5 也是質數。 解題思路:暴力枚
C++ 標準庫深度解析:<iterator> 迭代器完整指南
迭代器核心概念 迭代器是指標的泛化,讓 C++ 程式能以統一介面操作不同資料結構(容器)。 本質上,迭代器封裝了指標操作(遞增、解參考、比較等),提供統一的
iOS 開發入門:C 語言緩衝區問題深度解析
緩衝區機制概述 在 C 語言程式設計中,緩衝區是輸入輸出操作的核心機制。理解其運作原理對於避免 scanf 等函數產生的常見錯誤至關重要。緩衝區本質上是一塊暫存
C 程式設計學習筆記全紀錄:從演算法到指標的完整知識圖譜
這是一份詳盡的 C 語言學習筆記彙整,涵蓋程式結構、資料型別、運算子、控制流程、陣列、字串、函數、指標、結構體、動態記憶體、檔案輸入輸出等核心主題,適合系統複習
C++ STL <algorithm> 是 C++ 標準算法庫核心,所有算法透過迭代器操作,與容器解耦。本文系統分類 100+ 算法為四大類、三種版本模式,提供核心
Effective C++ 條款 01:視 C++ 為語言聯邦 — 四大子語言與切換策略
Scott Meyers 《Effective C++》開篇即指出:現代 C++ 非單一語言,而是**四大子語言聯邦**。理解各子語言規則差異,能在切換語境時套
C++ std::set 刪除迭代器失效陷阱:正確擷取相鄰元素模式
`std::set::erase(iterator)` 在 C++11 前不回傳下一個有效迭代器,且刪除後原迭代器指向的記憶體已釋放。直接對已刪除迭代器進行 `