ALGO-3 K好數問題:動態規劃求解 L 位 K 進制非相鄰數字計數
ALGO-3 K好數問題:動態規劃求解 L 位 K 進制非相鄰數字計數 問題描述 若一個自然數 N 的 K 進制表示中,任意相鄰兩位數字不相鄰(即差值不為 1)
C++ 代理類設計模式詳解:解決容器存儲異構對象難題
C++ 代理類設計模式詳解:解決容器存儲異構對象難題 問題背景 在 C++ 中,容器(如數組)通常只能存儲單一類型的對象。若需存儲繼承自同一基類的不同派生類對象
HDU 1251 統計難題:字典樹(Trie)入門詳解與 C++ 實現
HDU 1251 統計難題:字典樹(Trie)入門詳解與 C++ 實現 問題描述 Ignatius 面臨一個統計難題:老師給了許多單詞(僅包含小寫字母,無重複)
C++ 類引用成員變量:正確聲明與初始化全指南
引用成員特性 引用是變量別名,聲明時必須初始化,且不可重新綁定。類中聲明引用成員: class B { A& ref_; // 必須在構造函數初始化列表
LightOJ 1234 Harmonic Number:調和級數部分和快速計算
題目 計算 H(n) = 1 + 1/2 + ... + 1/n,n ≤ 10^8,多組測試,輸出保留 10 位小數。 解法:預計算 + 歐拉-馬歇羅尼常數近
POJ 2001 Shortest Prefixes:字典樹 (Trie) 求最短唯一前綴
問題 給定單詞列表,對每個單詞找最短前綴使其在列表中唯一。例如 apple、app → appl、app。 Trie 節點設計 struct Node {
C++ 拷貝構造函數深度解析:調用時機、explicit 與最佳實踐
定義與簽名 ClassName(const ClassName& other); // 標準形式,參數為 const 引用 若不聲明,編譯器合成逐成員拷貝版本
HDU 3629 / 3269 - Convex(凸四邊形計數)
問題描述 給定平面上 n 個點(無三點共線),任選 4 點能構成多少個凸四邊形?n ≤ 1200。 幾何轉化 任意 4 點若構成凹四邊形,必有一點在其餘三點構
Smarty 模板引擎:變量輸出完整指南(字符串、陣列、對象)
模板文件 show.tpl arr[2]}> PHP 賦值腳本 display(show.tpl); 關鍵語法對照 PHP 類型模板語法 索引陣
Coursera Scala 函數式編程 Week 3 作業詳解:TweetSet 實現
作業架構 抽象類 TweetSet 及兩個子類 Empty、NonEmpty(二叉搜索樹,按 tweet.text 排序)。所有操作 immutable,返回新
LightOJ 1205 回文數計數:數位 DP 解決 1017 範圍
問題 查詢區間 [i, j] 內回文數個數,i, j ≤ 1017,T ≤ 200。暴力枚舉不可行,需數位 DP。 DP 狀態設計 dfs(pos, len
Struts2 入門:從環境搭建到 HelloWorld 完整教程
開發環境準備 Struts 2.3.1.1 (含樣例與依賴 JAR) Tomcat 7+ Eclipse IDE for Java EE (或 MyEclip
Effective C++ 條款 8:析構函數不拋異常
鐵律 析構函數絕不吐出異常。若析構過程中調用的函數可能拋出異常,必須捕獲並吞下(記錄日誌)或調用 abort() 終止程序。 反例與後果 若析構函數拋出異常且
C++ 智慧指針進階:scoped_ptr 與 PIMPL 惯用法
auto_ptr 缺陷 auto_ptr 複製構造會轉移所有權,導致源指針變空: auto_ptr<Person> p1(new Person);
Windows 下枚舉 DLL 導出函數:PE 結構解析實戰
應用場景 逆向分析 Firefox 密碼存儲時,需定位某導出函數所在 DLL。手工用工具逐個查看太慢,編寫程序批量掃描目錄下所有 DLL 的導出表。 核心流程
Effective C++ 條款 9:構造/析構期禁用 virtual 函數
核心規則 在構造函數和析構函數中不要調用 virtual 函數,因為這類調用永遠不會下降到 derived class(相對於當前正在執行構造/析構的那一層)。
CodeForces 433A 北原春希的禮物:0-1 背包判斷等分
問題轉化 n 個蘋果,重量只有 100 或 200。能否分成兩堆等重? 總重 sum 必須為偶數,目標容量 target = sum/2。恰是 0-1 背包:能
HDU 4502 吉哥臨時工計劃:區間 DP 求最大收入
問題建模 m 天假期,n 份工作,每份有起止天數 (s, e) 與報酬 c。工作不可重疊(含端點),求最大總收入。m ≤ 100,n ≤ 1000。 DP 定