POJ 1659 Frogs' Neighborhood:Havel-Hakimi 定理判圖與構造
題目 給定 N (2~9) 個青蛙的鄰居數 x1..xN,判斷是否存在無向簡圖使每個節點度數匹配。若存在輸出任意鄰接矩陣。 Havel-Hakimi 定理 非
C++ delete 後必須置 nullptr:避免雙重釋放崩潰的鐵律
核心結論 每次 delete ptr 後立即執行 ptr = nullptr。這是 C++ 手動內存管理的基本防禦性編程習慣。 為什麼? int* p = n
HDU 1254 推箱子:雙層 BFS(人+箱子)求最少推動步數
題目 M,N ≤ 7 房間,有牆(1)、空地(0)、箱子(2)、目標(3)、人(4)。人只能推箱子不能拉。箱子推到角落死角則不可移動。求最少推動格數,不可達輸出
LeetCode 筆記:Sum Root to Leaf Numbers 求根到葉路徑數字之和
題目 3 為 123)。求所有路徑數字之和。 遞歸 DFS 解法 遞歸參數攜帶 當前路徑數值。到達葉節點時累加到結果。回溯時恢復數值(val) / 10)。
C 語言 far 關鍵字詳解:16 位分段記憶體架構下的遠指標
歷史背景 far、near、huge 是 16 位時代(8086/80286 實模式)為了突破 64KB 段限制而引入的非標準關鍵字,現代 32/64 位平坦記
C++ 成員函數與常成員函數調用規則詳解
重載規則 同名函數若 const 資格不同,構成重載。編譯器根據物件的 const 性選擇調用哪個版本。 代碼驗證 class Coordinate { pu
VC++ _access 快速判斷檔案/目錄是否存在
函數原型 int _access(const char* path, int mode); int _waccess(const wchar_t* path,
MFC CStatic 控件透明背景下文本重疊問題:派生類重繪父窗口區域徹底解決
問題現象 CStatic 設置透明背景(WS_EX_TRANSPARENT 或 OnCtlColor 返回 HOLLOW_BRUSH)並定時器更新文本時,新文本
C/C++ 條件編譯指令速查:#if/#ifdef/#error
#if / #elif / #else / #endif #if 表達式 // 語句段 1 #elif 表達式2 // 語句段 2 #else
C++ 圖片重命名小工具:ostringstream 組合新檔名
需求 將指定路徑下的圖片檔案(如 121.bmp)重命名為 ij.bmp(i、j 為 0~9 數字)。 核心代碼 #include #include #i
LeetCode 筆記:Anagrams 字母異位詞分組——排序 + HashMap
題目 給定字串陣列,返回所有字母異位詞分組(即由相同字母重新排列形成的單詞)。輸入均為小寫。 核心觀念 字母異位詞經過字母排序後結果相同。以排序後字串為 Ke
C/C++ 常見數據類型轉換總匯(含代碼模板)
轉換場景速查表 來源 → 目標核心函數/方法備註 int → char[]sprintf(buf, %d, val)緩衝區需足夠大 int → string
C++ 調用 Python 實戰:嵌入式解釋器與模組調用封裝
場景 C++ 主程式需初始化 Google Log、執行 Shell 指令、調用 Python 模組函數並傳遞參數。封裝三個工具函數:init_log、exe_
Python 調用 C++ 完整實戰:SWIG 封裝與動態庫生成
場景 Python 需調用 C++ 函數 linear(int x, int w, int b) 計算 w*x + b。使用 SWIG 生成封裝層,編譯為動態庫
ZOJ 2412 Farm Irrigation:水管連通區域 DFS 計數
題目 農場為 M×N 格子,每格有一種水管(A~K 共 11 種)。水從井口沿水管流動,經過的格子即被灌溉。求最少需幾個井口才能灌溉全農場。 核心思路:構圖
C++ 學習筆記 4:STL 容器分類、特性與選型指南
STL 容器 = 數據結構 + 算法 容器封裝數據結構,通過迭代器統一接口,配合算法(<algorithm>)實現數據處理。核心優勢:復用、泛型、性
Effective C++ 讀書筆記:條款 1~3(語言聯邦、const/enum/inline 替代 #define、盡可能用 const)
條款 1:視 C++ 為一個語言聯邦 C++ 實際上由四個次語言組成,守則隨使用部分而異: C:區塊、指標、陣列、前置處理器。 Object-Oriented