插入排序家族:直接插入、折半插入、希爾排序完整解析
插入排序家族:直接插入、折半插入、希爾排序完整解析 插入排序通過構建有序序列,對未排序數據在已排序部分從後向前掃描找到位置並插入。本文詳細對比三種變體。 1.
Cocos2d-x 增強:優化 CCPlatformMacros.h 日誌輸出格式
Cocos2d-x 增強:優化 CCPlatformMacros.h 日誌輸出格式 修改 cocos2dx/platform/CCPlatformMacros.
C++ 模板之旅:Traits 技術在項目中的實戰應用
C++ 模板之旅:Traits 技術在項目中的實戰應用 需求:實現 ExportData 類,僅支援 long, double, string 三種類型,滿足:
線段樹區間最小值查詢與單點更新:模板詳解
線段樹區間最小值查詢與單點更新:模板詳解 給定長度 N (≤10^6) 陣列,支援 Q (≤10^6) 次操作:區間最小值查詢、單點修改。輸入輸出需極快 IO。
LeetCode 99 Recover Binary Search Tree:中序遍歷找錯誤節點
LeetCode 99 Recover Binary Search Tree:中序遍歷找錯誤節點 BST 中兩個節點值被交換,恢復樹結構。要求 O(1) 空間(
USACO 1.3 Barn Repair:貪心最小化木板總長度
USACO 1.3 Barn Repair:貪心最小化木板總長度 有 C 頭牛佔據 S 個牛棚位置(編號 1~S),用 ≤ M 塊木板覆蓋所有牛,求木板最小總長
BZOJ 3721 Bazarek:貪心選擇 k 件商品總價為奇數最大值
BZOJ 3721 Bazarek:貪心選擇 k 件商品總價為奇數最大值 有 n 件商品,選 k 件使總價為奇數且最大。多查詢不同 k。 貪心策略 價格降序
LeetCode Anagrams:哈希表分組字母異位詞
LeetCode Anagrams:哈希表分組字母異位詞 給定字符串數組,返回所有字母異位詞組(至少兩個單詞)。異位詞:字母組成相同,順序不同。 核心思想 對
UVA 10382 Watering Grass:貪心區間覆蓋噴頭選擇
UVA 10382 Watering Grass:貪心區間覆蓋噴頭選擇 矩形草坪 L×W,n 個噴頭位於長邊上(坐標 x,半徑 r)。噴頭有效覆蓋寬度為 2√(
USACO 1.2 Dual Palindromes:多進制回文檢測
USACO 1.2 Dual Palindromes:多進制回文檢測 找大於 S 的前 N 個整數,使其在 2~10 進制中至少有兩種為回文數。N≤15, S≤
C++11 std::move 與 std::forward 源碼深度解析
C++11 std::move 與 std::forward 源碼深度解析 std::move 實現移動語義,std::forward 實現完美轉發。本文基於
NYUOJ 1162 數字:字符串分割排序輸出
NYUOJ 1162 數字:字符串分割排序輸出 輸入一行數字字符串,0 視為分隔符。將分割出的非空數字按數值升序輸出。全 0 輸出 0。數字在 int 範圍內,
UVA 10670 Work Reduction:貪心最小化外包成本
UVA 10670 Work Reduction:貪心最小化外包成本 n 份工作需減至 m 份。L 個機構報價:A 元/份,B 元/半數(四捨五入)。求每機構最
UVA 1593 代碼對齊:列左對齊格式化輸出
UVA 1593 代碼對齊:列左對齊格式化輸出 輸入多行代碼,每行含多個單詞(空格分隔)。要求:各列單詞左對齊,列間至少一空格,每行末尾無多餘空格。單詞長 ≤
ZOJ 3822 Domination:概率 DP 期望覆蓋步數
ZOJ 3822 Domination:概率 DP 期望覆蓋步數 N×M 棋盤,每步均勻隨機選一格標記。求期望步數使所有行列均至少有一格被標記(即覆蓋所有行和列
HDU 4708 Rotation Lock Puzzle:矩陣環狀旋轉模擬
HDU 4708 Rotation Lock Puzzle:矩陣環狀旋轉模擬 奇數階矩陣 n×n,以中心為基準分為 n/2 個同心環。每環可順/逆時針旋轉,每步
If We Were a Child Again:大整數除法與取模
If We Were a Child Again:大整數除法與取模
輸入格式:大整數 運算符(/ 或 %) 小整數。大整數任意長(字符串),小整數
HDU 1013 Digital Roots:字符串處理大數數字根
HDU 1013 Digital Roots:字符串處理大數數字根 輸入多行大整數(以 0 結束),輸出每個數的數字根:反覆累加各位數字直到個位數。 數學性質