LeetCode 70 爬樓梯:費波那契數列的動態規劃經典應用
問題描述 有 n 階樓梯,每次可爬 1 階或 2 階。求到達樓頂的不同方法數。例如 n=3 時,有 3 種方法:1+1+1, 1+2, 2+1。 數學建模與遞
UVA 11423 Cache Simulator:樹狀數組高效模擬緩存命中與淘汰
問題描述 模擬一個多級緩存系統,支持兩種操作: ADD x:添加數據 x,若已存在則為 Hit(命中),不存在則為 Miss(未命中) RANGE b y n
POJ 1699 Best Sequence:DFS + 預處理解決序列最短超串問題
問題背景 POJ 1699 Best Sequence 要求給定 N 個字符串序列,通過首尾重疊拼接形成一個最短的總序列。這是一個經典的最短公共超串問題變體,核
C++ 代碼統計利器:註解行、有效代碼行、公共行與函數個數一鍵分析
前言 在軟體開發過程中,我們經常需要對代碼進行統計分析,例如計算註解行數、有效代碼行數、代碼與註解混合行數以及函數個數。這不僅有助於評估代碼質量,還能為項目管理
Objective-C Block 存儲區域深度驗證:棧、堆、全局區判別實戰
Block 三種存儲類型 Objective-C Block 在內存中有三種形態,對應三個內部類: _NSConcreteStackBlock —— 棧上
C++11 右值引用與移動構造函數深度解析
引言:為什麼需要右值引用? C++03 中臨時對象的拷貝構造與析構帶來顯著性能開銷。雖然編譯器提供 Copy Elision、RVO/NRVO 優化,但並非所有
HDU 3265 Posters 掃描線+線段樹求矩形面積並
題目大意 有 N 張矩形海報,每張海報內部挖去一個矩形洞(邊平行坐標軸)。求窗戶被覆蓋的總面積。窗戶範圍 (0,0)-(50000,50000)。N ≤ 500
C++ 拷貝控制全面解析:五大特殊成員函數、法則、移動語義與最佳實踐
什麼是拷貝控制? 當類需要像內置類型一樣支援「用對象初始化對象」(拷貝構造)、「對象賦值」(拷貝賦值)、「對象銷毀」(析構)時,需定義相應操作。C++11 引入
BNU 34988 Happy Reversal:二進制按位取反最大差值
問題大意 給定 N 個長度為 K 的二進制串,可對任意串執行「按位取反」(0↔1)。操作後最大值 M、最小值 P,求最大化 M - P。 關鍵觀察 每個串只有
Codeforces 459C Pashmak and Buses:K 進制構造數列避免學生全天同車
問題重述 n 名學生,k 輛車(容量無限),d 天。每天安排每學生乘坐某輛車。要求:不存在兩名學生在 d 天內每天都乘坐同一輛車(即任意兩學生的 d 天乘車序列
BNU 34982 Beautiful Garden:最少移動樹木使等距排列的暴力枚舉解法
問題描述 X 軸上有 n 棵樹(n ≤ 40),座標 x_i(可重複)。可移動任意樹木到任意位置,要求移動後相鄰樹木距離相等(等差數列)。求最少移動棵數。 核
Codeforces 261D:樹狀數組統計 f(1,i,a[i]) > f(j,n,a[j]) 數對
問題重述 序列 a[1..n] (n≤10⁶)。f(l,r,x) = x 在 [l,r] 出現次數。求滿足 f(j,n,a[j]) 且 i < j 的數對數。
C++ 進階特性集錦:引用綁定、轉義字符、模板元、宏、斷言、多線程、智能指針
1. 引用內部綁定機制 引用在編譯期綁定,本質為 const 指針,生存期延伸規則: const int& r = 10; 臨時量壽命延長至 r 同作用域結束。
HDU 1978 How many ways:棋盤路徑計數與記憶化搜索
問題規則 n×m 棋盤 (≤100),每格有能量 e (0≤e<20)。從 (1,1) 走到 (n,m),只能右/下移動,每步耗 1 能量。到達格子獲得該格能量
C++ 函數模板全解析:重載、可變參數、特化、引用交換
1. 基礎模板與實例化 template void swap(T& a, T& b) { T tmp=a; a=b; b=tmp; } swap(x, y);
POJ 1080 Human Gene Functions:帶權 LCS 的基因相似度計算
問題轉化 兩基因序列(A,C,G,T),插入間隙 - 使等長,按評分矩陣計分,求最大分值。 評分矩陣 5×5(含 -),- 與 - 不允許匹配(標 -∞)。
C++ 現代特性速覽:std::array、vector、lambda、字符串、多維數組、緩衝區 new
1. std::array<T, N> 棧上固定大小數組,無內存管理負擔。 支援 .size(), .at(), 迭代器,不自動擴容,越界