Codeforces 27C 找三元組遞增/遞減子序列 樹狀數組解法
問題描述 給定長度 n (≤ 10⁵) 的整數序列 a[1..n],值域 [-10⁶, 10⁶]。尋找三個索引 i < j < k 使得 a[i] a[k]
MFC 遞歸刪除資料夾及檔案完整實作 (CFileFind + SHFileOperation 替代方案)
需求場景 在 MFC 應用中清空日誌目錄、臨時檔案目錄,或完整刪除資料夾樹。需處理唯讀檔案、隱藏檔案、子目錄遞歸、權限錯誤等實際情況。 核心實作:CFileF
HUST 1608 Dating With Girls:BFS 求條件限制下最長路徑
題目情境轉化 圖論建模:n 個節點(1 號為男孩起點,2~n 為女孩),m 條無向邊。每個女孩節點 i 有權值 w[i]。w[i] < 0 表示該女孩打電
Codeforces 251D Two Sets 位運算貪心 + 線性方程組高斯消元求解
問題描述 給定 n 個非負整數,需分成兩個集合 (可為空)。設集合 1 異或和為 x1,集合 2 異或和為 x2。目標: 最大化 x1 + x2
Boost 智慧指標完整指南:scoped_ptr、shared_ptr、weak_ptr 選型與實戰
為什麼需要智慧指標 C++ 手動記憶體管理 (new/delete) 易導致記憶體洩漏、重複釋放、懸空指標。智慧指標以 RAII (Resource Acqui
C++ 高精度大整數模板 bign 完整實作與除錯指南
前言 在競賽程式設計中,超出 64 位元整數範圍 (約 10¹⁹) 的計算需自行實現高精度運算。本文提供一個經實戰驗證、修復已知 Bug 的 bign 結構體模
C/C++ 函式指標完整指南:宣告、初始化、回調與實戰模式
什麼是函式指標 函式指標是指向可執行代碼入口位址的指標,使函式成為「一等公民」:可作為參數傳遞、儲存於資料結構、動態決定呼叫目標。核心應用場景:回調函式、事件處
UVa 10065 - Useless Tile Packers 凸包面積差計算浪費空間百分比
問題描述 給定一個簡單多邊形 (磚塊形狀),求其凸包面積與多邊形面積的差值佔凸包面積的百分比,即「浪費空間」。輸入多組測資,每組 n (≤ 100) 個頂點座標
UVa 811 - The Fortified Forest 狀態壓縮+凸包求解最小價值圍欄
問題描述 平面上有 n (≤ 15) 棵樹,每樹有座標 (x,y)、價值 v、高度 l (可作為圍欄長度)。需砍伐部分樹木,用其高度總和圍成圍欄,包圍剩餘所有樹
C++ 模板函數實現記憶體區塊類型安全轉換技巧
問題場景 在網路封包解析、二進制檔案讀寫、硬體暖存器映射等場景,常需將原始位元組緩衝區 (char* 或 void*) 解析為特定結構體。傳統做法使用 rein
Codeforces 111C Petya and Spiders 狀態壓縮 DP 解法詳解
問題描述 給定 n × m 棋盤 (n*m ≤ 40,且 min(n,m) ≤ 6),每格初始有一隻蜘蛛。每隻蜘蛛可上下左右移動一格或原地不動。移動後,求棋盤上
堆積排序演算法原理與 C 語言實作詳解
演算法概念 堆積排序是利用二元最大堆 (Max Heap) 特性進行的原地比較排序,時間複雜度 O(n log n),空間複雜度 O(1),不穩定。核心分兩階段
自製 NPAPI 插件開發框架:從核心機制到面向對象封裝與腳本化支援
前言 NPAPI (Netscape Plugin API) 雖已被現代瀏覽器淘汰,但其動態庫介面規範、瀏覽器與插件雙向函式表交換、腳本化物件模型等核心設計思想
UVa 10012 - How Big Is It? 圓形排列最小矩形寬度搜尋解法
問題描述 給定 m (≤ 8) 個圓的半徑,需將它們全部放置於一條水平線(x 軸)上方,每個圓與 x 軸相切。圓之間可相切或分離,但不得重疊。求能容納所有圓的最
自定義函式實作三數由大到小排序:指標參數應用實例
題目需求 輸入三個整數,透過自定義函式將其由大到小排序並輸出,要求排序邏輯封裝於函式中,主程式僅負責輸入輸出。 指標參數版本實作 #include usin
C++ 函式參數傳遞:值傳遞、指標與參考的交換實作差異深度解析
核心問題 為何同樣寫「交換兩個變數」的函式,有的能生效、有的卻無效?關鍵在於參數傳遞機制決定了函式內部操作的是「副本」還是「原物件」。 三種傳遞方式對比實驗
指標實作氣泡排序:以指標為參數對陣列進行降序排列
題目需求 撰寫函式 void sort(int *p, int num),使用指標作為形參,以氣泡排序將整數陣列由大到小(降序)排列,並配合 output()