POJ 1637 混合圖歐拉回路:有向/無向邊共存判斷歐拉迴路存在性
問題描述 混合圖包含有向邊與無向邊。判斷是否存在歐拉迴路 (遍歷每條邊恰一次並回到起點)。 必要條件 所有頂點入度 = 出度 (含無向邊貢獻)
HDU 1045 Fire Net:貪心 + 回溯 (DFS) 求最大放砲塔數
問題描述 N×N 網格 (N ≤ 10),X 為牆,. 為空地。砲塔可放空地,同行/同列無牆阻隔不得相見。求最多放多少砲塔。 DFS 回溯 + 貪心剪枝 按行
C/C++ 隱藏依賴:頭檔包含順序、巨集定義對編譯單元的暗中影響
什麼是隱藏依賴 隱藏依賴指原始碼中未明顯聲明,但透過前置處理器巨集、頭檔包含順序、隱式命名空間污染等方式,導致編譯單元行為發生難以追蹤的變化。 常見形式
C/C++ 區間隨機數生成:[a,b]、[a,b)、(a,b] 正確寫法
標準庫 rand() 區間映射 rand() 產生 [0, RAND_MAX] 整數。映射到 [s, d] 區間: 目標區間公式說明 [s, d] (閉區間)
陣列乘積更新演算法:O(n) 時間無除法計算除自身外所有元素乘積
問題描述 給定陣列 a[0..n-1],構建陣列 b 使 b[i] = ∏_{j≠i} a[j]。要求:不使用除法,時間 O(n)。 前綴後綴乘積法
Windows 進程間通信 (IPC) 13 種方式完整總結
13 種 IPC 機制對比 方式跨網絡同步/異步適用場景 1. 檔案映射 / 共享記憶體否需自行同步本機高速大量資料共享 2. 匿名管道否同步父子進程、標準
C++ 靜態多態與動態多態深度對比:模板 vs 虛函數
兩種多態形式 特性動態多態 (虛函數)靜態多態 (模板/CRTP) 綁定時機執行期編譯期 核心機制虛函數表 (vtable)模板具現化 介面形式顯式 (基類虛
POJ 1637 混合圖歐拉回路:網絡流建模與 Dinic 算法實現
問題定義 混合圖包含有向邊與無向邊。判斷是否存在歐拉回路(恰好走過每條邊一次並回到起點)。 必要條件轉化 無向邊可視為雙向有向邊,但只能選擇一個方向使用;
PAT Advanced 1020 Tree Traversals:後序+中序重構二叉樹輸出層序遍歷
問題描述 給定二叉樹的後序與中序遍歷序列(節點值為不相同正整數,N ≤ 30),輸出層序遍歷序列。 遞歸重構樹 後序最後一個 = 根 在中序
POJ 1182 食物鏈:擴展並查集維護物種捕食關係
問題描述 三類動物 A、B、C 成環捕食:A→B→C→A。N 隻動物(≤ 50000),K 句陳述(≤ 100000): 1 X Y:X、Y 同類
C++ Primer 智能指針實作:引用計數管理動態記憶體
智能指針 動機 裸指針易導致記憶體洩漏(忘記 delete)與懸空指針(重複釋放)。智能指針透過 RAII 自動管理生命週期。 引用計數 實作原理
Codeforces Round #241 Div.2 A~C 題解:區間交集、流水線調度、貪心訂桌
A. Guess a number! 區間交集 根據問答 (> x Y/N, <= x Y/N 等) 維護可行區間 [low, high]。每條規則
HDU 1241 Oil Deposits:DFS 連通分量計數經典入門
問題描述 給定 m×n 網格(m,n ≤ 100),@ 代表油藏,* 代表無油。八方向相鄰的 @ 屬於同一油田。求油田數量。多組測資,m=0 結束。 DFS
C++ 命名空間 完整指南:定義、使用、別名與最佳實踐
命名空間 基本概念 C++ 專案增大時,名稱(變數、函數、類別等)衝突風險增加。命名空間將名稱封裝在獨立作用域,避免衝突。特性: 可全域或巢狀定義,不
ZOJ Talented Chef:最少烹飪時間的貪心數學證明
題目重述 廚師同時最多處理 M 道菜。第 i 道菜需 A_i 個步驟(順序執行)。每分鐘可選 ≤M 道不同菜各推進一步。求完成所有菜的最少分鐘數。 約束:N,
BZOJ 1059 [ZJOI2007] 矩陣游戲:二分圖完美匹配判斷主對角線全黑可行性
問題描述 N×N 01 矩陣(0 白、1 黑)。允許任意行交換、列交換。問能否通過操作使主對角線全為 1(黑)。N ≤ 200。 核心洞察 行/列交換不改變「
攜程復賽題:最短路徑邊刪除代價最小割 + SAP 最大流
問題描述 給定圖,求從 s 到 t 的最短路徑集合。需刪除一些邊使所有最短路被切斷,刪除代價為邊權 c,求最小總代價。等價於:在最短路子圖中求 s-t 最小割