C++ 類成員指針完整指南:數據成員、函數成員、mem_fn 與 bind 綁定
C++ 類成員指針完整指南:數據成員、函數成員、mem_fn 與 bind 綁定 類成員指針指向類的非靜態成員,其類型包含類類型和成員類型。不同於普通指針指向對
LeetCode:Remove Duplicates from Sorted Array - 雙指針原地去重
LeetCode:Remove Duplicates from Sorted Array - 雙指針原地去重 給定已排序數組,原地移除重複元素,使每個元素只出現
HDU 1520:Anniversary Party - 樹形 DP 求最大權獨立集
HDU 1520:Anniversary Party - 樹形 DP 求最大權獨立集 大學員工层级结构形成一棵樹(根節點為校長)。每位員工有活躍度評分(可正可負
POJ 3046:Ant Counting - 分組背包計數問題詳解
POJ 3046:Ant Counting - 分組背包計數問題詳解 有 T 種螞蟻,第 i 種有 Nᵢ 隻。從中選取若干隻組成群體,群體大小在 [S, B]
POJ 1556:The Doors - 計算幾何 + 最短路 (可見性圖 + SPFA)
POJ 1556:The Doors - 計算幾何 + 最短路 在一個 10×10 的走廊中,有 N 個矩形柱狀障礙物(每個由左右兩條垂直線段定義)。從入口 (
POJ 1719 Shooting Contest 二分圖最大匹配選白格子
POJ 1719 Shooting Contest 二分圖最大匹配選白格子 r 行 c 列矩陣,每列恰有兩個白格。需每列選一格,使每行至少被選一次。構造二分圖:
UVA 146 ID Codes STL next_permutation 求字典序後繼排列
UVA 146 ID Codes STL next_permutation 求字典序後繼排列 輸入字符串(可含重復字符),輸出其字典序下一個排列,若已是最大則輸
HDU 1033:Edge - 紙條折疊展開後的邊緣曲線繪製 (PostScript 生成)
HDU 1033:Edge - 紙條折疊展開後的邊緣曲線繪製 給定一個由 V (凹折/逆時針) 和 A (凸折/順時針) 組成的字符串,表示紙條反復折疊後展開形
UVA 10655 Contemplation! Algebra 矩陣快速冂求 a^n + b^n
UVA 10655 Contemplation! Algebra 矩陣快速冂求 a^n + b^n 已知 p = a+b、q = ab,求 a^n + b^n。
HDU 1037 Keep on Truckin' 超簡單卡車通行判斷
HDU 1037 Keep on Truckin 超簡單卡車通行判斷 168 輸出 NO CRASH,否則輸出 CRASH X,X 為第一個 ≤ 168 的涵
POJ 2502 Subway 迪傑斯特拉算法求最短通勤時間
POJ 2502 Subway 迪傑斯特拉算法求最短通勤時間 給定家和學校坐標、多條地鐵線(每線多站坐標),步行 10km/h、地鐵 40km/h,可任意換乘。
LeetCode K Sum 問題通解:從 2Sum 到 K Sum 統一遞歸/雙指針框架
LeetCode K Sum 問題通解:從 2Sum 到 K Sum 統一遞歸/雙指針框架 2 時固定一個數遞歸求 K-1 Sum。並提供去重技巧(跳過相同元素
C++ 編譯器實現多態的底層原理:虛函數表與指針佈局深度解析
C++ 編譯器實現多態的底層原理:虛函數表與指針佈局深度解析 多態的核心是「運行時綁定」。編譯器為每個含虛函數的類生成一張虛函數表(vtable),表中存虛函數
WTL 安裝指南:Visual Studio 2010/2008/2005 向導部署步驟
WTL 安裝指南:Visual Studio 2010/2008/2005 向導部署步驟 WTL (Windows Template Library) 需運行對
OpenCV 幾何失真校正與局部增強:原理、插值方法與代碼實現
OpenCV 幾何失真校正與局部增強:原理、插值方法與代碼實現 圖像獲取過程中因透鏡畸變、視角變化產生幾何失真(枕形/桶形/透視失真)。校正分兩步:幾何變換將像
C++ 結構體內存對齊與 #pragma pack 詳解
C++ 結構體內存對齊與 #pragma pack 詳解 結構體大小不等於成員大小之和,編譯器會按對齊規則插入填充字節。本文以一道面試題為例,詳細推導 #pra
淺析 CPU 與 GPU 並行計算:MPI 與 CUDA 核心原理對比
淺析 CPU 與 GPU 並行計算:MPI 與 CUDA 核心原理對比 並行計算分為指令流與數據流兩個維度,形成 SISD、SIMD、MISD、MIMD 四類。
libcurl 動態緩衝區實現:基於 std::list 節約內存並防止溢出
libcurl 動態緩衝區實現:基於 std::list 節約內存並防止溢出 libcurl 下載數據時通常使用固定大小緩衝區,易造成內存浪費或溢出。本文提出基