C++11 新特性:nullptr 完全指南
為什麼需要 nullptr? C/C++ 歷史上用 NULL 表示空指標,但 NULL 只是巨集: C:#define NULL (void*)0 C++:#
C/C++ 序列點與未定義行為深度解析
經典疑問 int i = 3; i = i++; cout << i; // 輸出 3?4?還是崩潰? 答案:未定義行為 (UB)。標準不保證結果,編譯器可任意
HDU 4435 解題報告:貪心 + BFS 求最小加油站集合
問題重述 給定 n 個點(含起點 1、終點 n)及最大行駛距離 d。每個點可選擇建加油站。車從 1 出發,油箱容量可行駛距離 d,經過加油站可加滿。求建站數最少
HDU 1709 解題報告:母函數求不可表示數
問題描述 給定 n 個正整數 a[0..n-1],每個數最多使用一次。求無法表示為這些數子集之和的所有正整數,並輸出它們的個數與具體值(升序)。 母函數核心思
Windows 線程同步機制深度解析:互斥量、事件、信號量與臨界區
為何需要線程同步? 多線程共享記憶體時,若線程 A 寫入、線程 B 讀取同一區域,時間片輪換可能導致「讀到一半的資料」或「寫入被打斷」,產生邏輯錯誤。同步機制確
HDU 1083 Courses:二分圖最大匹配(匈牙利演算法)詳解
問題背景 經典課程安排問題:有 nx 門課程(X 集合)與 ny 個時段(Y 集合),每門課有可用時段列表。判斷是否能為所有課程分配互不衝突的時段,即尋找完美匹
HDU 1708 解題報告:費波那契字串字符統計
問題描述 給定兩個初始字串 S1、S2(僅含小寫字母),定義類費波那契序列: Sn = Sn-1 + Sn-2 (字串拼接) 求第 n 個字串中每個字母 a~
C++ 隨機數詳解:從 rand() 到 srand() 的正確用法
前言 在 C++ 程式設計中,產生隨機數是常見需求。標準庫提供 rand() 與 srand(),但許多初學者發現「每次執行結果都一樣」,這背後涉及偽隨機數與種
DNA 排序:依「已排序程度」對基因序列進行排序
問題背景 在生物資訊學中,衡量一個序列「未排序程度」的一個指標是逆序數。所謂逆序數,即序列中順序錯誤的元素對數量。例如序列 DAABEC 的逆序數為 5:D 比
VC++ 開發 Windows 服務完整指南:從安裝到動態 DLL 載入實戰
Windows 服務架構核心組件 Windows 服務由 服務控制管理器 (SCM) 管理,核心入口函數包括: ServiceMain:服務主執行緒,註冊控制
MFC CStringArray 完全指南:動態字符串數組的標準用法與最佳實踐
類概覽 CStringArray 是 MFC 提供的動態字符串數組類,繼承自 CObject,支持序列化。內部封裝 CString 對象數組,容量自動增長,提供
Codeforces Round #177 Div1 D:樹上不相交路徑對計數——補集轉化與DFS動態規劃
問題重述 給定一棵 n 節點樹 (n ≤ 80000),求有多少對不相交的簡單路徑(路徑由兩個不同節點確定,順序無關)。兩條路徑不相交指無公共節點。 核心洞察
UVA 10148 Advertisement:區間選點貪心經典問題完整解析
問題重述 給定數軸上 M 個閉區間 [Lᵢ, Rᵢ](坐標範圍 -10000~10000),要求選取最少數量的整數點,使得每個區間內至少包含 N 個被選點。輸出
POJ 3233 Matrix Power Series:矩陣冪級數求解與分治優化詳解
題目背景與核心思路 POJ 3233 Matrix Power Series 要求計算矩陣級數 S = A + A^2 + ... + A^k (mod m)。
雞蛋籃子問題:遞歸回溯與數學歸納法構造所有合法分配方案
問題重述 將 N 個雞蛋放入 M 個籃子,每籃至少 1 個。要求:對任意 1 ≤ x ≤ N,都能從某些籃子中取出雞蛋使其總和恰為 x。輸出所有合法分配方案。