C++11 移動構造函數深度解析:右值引用、資源轉移與效能提升
動機:避免不必要的深拷貝 臨時物件(右值)在拷貝後即銷毀,若管理動態資源(指標、檔案句柄、網路連線),「拷貝→銷毀」模式會造成雙重分配/釋放開銷。移動語義允許直
C++ 常量指標與指標常量區別詳解:const int* vs int* const
核心區別口訣 const 在 * 左 → 指向常量的指標(底層 const);const 在 * 右 → 指標常量(頂層 const)。 指向常量的指標 (c
C/C++ 獲取執行檔路徑、同名建立/刪除資料夾完整實現
核心 API GetModuleFileName(NULL, buffer, size):取得當前模組(.exe)完整路徑 CreateDirectory(p
LeetCode 判斷兩棵二叉樹是否相同:遞歸結構與值比較
問題定義 給定兩棵二叉樹根節點 p、q,判斷是否完全相同:結構相同且對應節點值相同。 遞歸解法 right); } 迭代替代方案 使用隊列/棧同時遍歷兩樹,
C++ 空指標與 void 指標詳解:nullptr、void*、類型安全與轉換規則
傳統 NULL/0 的問題 C/C++ 早期使用 0、0L、\0、(void*)0 或宏 NULL 表示空指標。但 NULL 定義不統一(整數 0 或 (voi
LeetCode Word Search II 解析:字典樹 + DFS 剪枝在二維網格中搜尋多單詞
問題挑戰 在 m×n 字母網格中尋找字典中所有單詞。單詞由相鄰格子(上下左右)字母順序組成,同一格子在單詞中不可重複使用。字典詞數較大時,逐詞 DFS 會超時。
LeetCode 207 Course Schedule 解題:拓撲排序判斷課程依賴圖是否有環
問題本質 n 門課程,先修關係以有向邊 [a, b] 表示(修 a 前須修 b)。判斷是否能完成所有課程 ⇔ 判斷有向圖是否為 DAG(無環圖)。 拓撲排序算
HDU 1251 統計難題:字典樹 (Trie) 入門級前綴計數應用
問題描述 給定若干單詞(僅小寫字母,無重複),多次查詢:指定字串作為前綴的單詞數量(單詞本身視為自己的前綴)。 字典樹節點設計 struct Trie {
HDU 4000 Fruit Ninja 解析:樹狀數組統計逆序三元組變體
問題轉化 給定 1~n 的排列 a,求滿足 a[x] < a[y] < a[z] 且 x < y < z 的三元組 (x,y,z) 個數。直接計數困難,轉化為計
ZOJ 3201 Tree of Tree 解題:樹形 DP + 分組背包求 K 節點最大權值子樹
問題描述 給定一棵帶節點權值的無根樹,尋找包含恰好 K 個節點的連通子圖(即子樹),使節點權值總和最大。N ≤ 100,K ≤ 100。 狀態定義 f(u,
C++ 四大類型轉換操作符深度解析:static_cast、const_cast、dynamic_cast、reinterpret_cast
C 風格強制轉換的局限 (type)expression 功能強大但隱患多:可將 struct 轉 int、double 轉指標、移除 const,且語法統一難
Codeforces 209 Div.2 D - Pair of Numbers 解題:最長子陣列存在公約數元素
問題核心 給定長度 n (≤ 3×10⁵) 的正整數陣列,尋找所有最長區間 [l, r],使得區間內存在某個元素 aⱼ 能整除區間內所有元素。輸出最優區間個數、
UVA 1220 Party at Hali-Bula 解析:樹形 DP 求最大獨立集與唯一性判定
問題建模 n 人形成一棵有根樹(根無上司),邊代表直接上下級關係。需選取最大子集,使任兩人無直接上下級關係(即樹的最大獨立集),並判斷最優方案是否唯一。 樹形
Codeforces 134C Swaps 題解:圓桌換牌遊戲的優先隊列模擬策略
問題重述 n 位玩家圍坐圓桌,共 s 張牌,n 種顏色。初始第 i 人持有第 i 種顏色的牌。交換規則:(1) 只能給出自己原有顏色的牌;(2) 不能接收已擁有
C++ sizeof 深度解析:基本類型、空類、記憶體對齊與虛函數表大小實測
測試環境與基礎類型大小 測試環境:Visual Studio 2013 (32 位編譯模式)。基本類型 sizeof 結果如下: char:1 位元組 sho
Timus OJ 1057 數位 DP 解題詳解:整數作為不同冪次和的計數
問題描述 給定區間 [X, Y] 以及整數 K 和基數 B(2 ≤ B ≤ 10),求區間內有多少整數可以表示為恰好 K 個不同的 B 的整數冪次之和。例如 X
Windows Native 開發必備:C++ 標準輸入輸出完全指南
C++ 標準輸入輸出核心概念 在 Windows Native 開發中,掌握 C++ 的標準輸入輸出(Standard I/O)是基礎中的基礎。所謂標準 I/O