C++ _onexit() 函數用法詳解:main 返回後執行代碼
問題引入 main 函數執行完畢後,是否還能執行代碼?答案是肯定的,使用 `_onexit()` 註冊函數,它們將在 main 返回後、程序終止前按「後進先出」
數組乘積問題:不使用除法計算除自身以外所有元素的乘積
問題描述 給定數組 a[N],構造數組 b[N],使得 b[i] = a[0]*a[1]*...*a[N-1] / a[i]。 限制條件: 1. **不准使用除
LeetCode Recover Binary Search Tree:兩種 O(1) 空間解法詳解
問題描述 一棵二叉搜索樹(BST)中有兩個節點被錯誤交換,要求在不改變樹結構的前提下恢復樹。進階要求:O(1) 額外空間(遞歸棧不算)。 核心觀察 BST 中
C++ Primer 筆記:優化內存分配——通用緩存分配器基類 CachedObj
動機 頻繁 new/delete 小對象(如鏈表節點)會導致內存碎片與分配開銷大。解決方案:預分配大塊原始內存,維護一個「自由列表」(free list),分配
HDU 3879 & 3917:最大權閉合子圖建模與最大流求解
最大權閉合子圖核心模型 給定有向圖,每個節點有權值(正/負),每條邊表示依賴關係(選 u 必選 v)。求權值和最大的閉合子圖(滿足:若 u 在子圖中且 u→v,
C/C++ 控制流程結構的反彙編分析(Debug 版)
前言 任何程序均由三種基本控制結構組成:順序、選擇、循環。本文基於 Visual Studio 2008 Debug 版編譯輸出,分析這三類結構對應的 x86
POJ 1611 The Suspects:並查集經典應用與坑點避雷
問題描述 學校有 n 個學生(0 到 n-1),m 個小組。每個小組的成員之間互相認識。若學生 0 懷疑患病,則所有與他直接或間接認識的學生都需隔離。求需隔離的
HDU 1151 Air Raid:最小路徑覆蓋與二分圖最大匹配
問題描述 給定一個有向無環圖(DAG),代表城鎮的單向街道和十字路口。傘兵可從任意路口著陸,並沿街道方向移動。每個路口只能被一名傘兵訪問。求訪問所有路口所需的最
Hive 按日期建立分區表與動態插入數據實戰
場景需求 在數據倉庫中,常需按天分區存儲數據,並實現每日自動將前一天的業務數據載入對應分區。本文記錄如何在 Hive 中建立以日期為分區鍵的外部表,並通過 Sh
POJ 3264:RMQ 問題與稀疏表算法詳解
問題背景 給定一個長度為 m 的數組,需回答 n 次查詢:區間 [u, v] 中最大值與最小值的差。數據範圍較大,暴力查詢會超時,需用 O(1) 查詢、O(m
U - Count the Colors:區間染色與顏色區間統計(線段樹成段更新)
問題描述 給定 n 個操作,每個操作定義為 x1, x2, c,表示將區間 [x1, x2] 染成顏色 c。區間可以重複染色,最終需要統計每種顏色在畫布上形成了
HDU 1068 Girls and Boys:最大獨立集合與二分圖最大匹配的關係
HDU 1068 Girls and Boys:最大獨立集合 = 頂點數 - 最大匹配數 這是一道經典的二分圖理論應用題。題目給出一些男孩和女孩之間的認識關係,
動態規劃實戰:棒球自由球員簽約問題(分組背包變體)
問題背景 作為棒球隊總經理,預算 X 美元,需從 N 個位置各選至多 1 名自由球員(共 N 組,每組 P 名候選)。每位球員有簽約費用(10 萬美元倍數)和
HDU 4772 諸葛亮的密碼:矩陣旋轉與最大重疊計數
問題描述 給定兩個 N×N 矩陣,將第一個矩陣順時針旋轉 0°, 90°, 180°, 270° 四種狀態,分別與第二個矩陣對應位置比較,求四種旋轉下相同數字的
URAL 1306 Sequence Median:優先隊列維護中位數
URAL 1306 Sequence Median:優先隊列求中位數 給定 N ≤ 250,000 個非負整數(每行一個),求中位數。內存限制 1 MB,無法存
C++ Primer 學習筆記:嵌套類詳解
C++ Primer 學習筆記:嵌套類 嵌套類定義在另一個類內部,常用於實現細節(如鏈表節點)。嵌套類是獨立類型,與外圍類對象無關,不自動擁有外圍類成員訪問權。
HDU 4709 Herding:枚舉三角形求最小非零面積
HDU 4709 Herding:幾何題求最小三角形面積 給定 N ≤ 100 個點,求所有三點構成的三角形中最小非零面積。輸出保留兩位小數,無解輸出 Impo