HDU 1561 The more, The Better:樹形 DP + 背包選城堡最大化寶物
題目簡介 N 座城堡(N ≤ 200),每座有寶物值。攻克城堡需先攻克其前置城堡(形成樹/森林)。最多攻克 M 座,求最大寶物總值。 解題思路 樹形 DP +
C++ 純虛函數實現協議/委托模式:鬧鐘喚醒人範例
背景 C++ 無 interface/delegate 關鍵字,但可用純虛函數 + 多重繼承模擬協議委托。 範例:鬧鐘喚醒人 Awakable 協議:純虛類
C++ 學習筆記:const 與指針、引用的組合規則
const 與基本類型 const int x = 10; 使 x 不可修改。 const 與指針 三種核心形式: const int *p / int c
LeetCode Implement Queue using Stacks:雙棧模擬隊列
題目簡介 僅用棧的標準操作(push/pop/peek/empty)實現隊列的 push/pop/peek/empty。 解題思路 使用兩個棧 inStack
Project Euler Problem 58:螺旋質數比例低於 10% 的邊長
題目簡介 從 1 開始逆時針螺旋填數形成正方形。邊長為 7 時,對角線上 13 個數有 8 個質數(比例 ≈62%)。繼續擴展螺旋,求質數比例首次低於 10%
POJ 2104 K-th Number:劃分樹(主席樹前身)區間第 K 大查詢
題目簡介 給定長度 n ≤ 100,000 的數組,回答 m ≤ 5,000 個查詢:區間 [i, j] 中第 k 大的數是多少。 解題思路:劃分樹 基於快速
LeetCode Median of Two Sorted Arrays:O(log(m+n)) 找中位數
題目簡介 給定兩個已排序數組,求合併後的中位數。要求時間複雜度 O(log(m+n))。中位數定義:總長度奇數取中間,偶數取中間兩數平均。 解題思路 轉化為求
LeetCode 33 Search in Rotated Sorted Array:二分查找旋轉數組
題目簡介 已知一個升序數組在未知點旋轉(如 [4,5,6,7,0,1,2]),查找 target 並返回索引,不存在返回 -1。數組無重複元素。 解題思路
UVA 10361 Automatic Poetry:字符串模擬提取與重組
題目簡介 輸入兩行字符串。第一行包含 符號,格式為 s1<s2>s3<s4>s5。第二行以 ... 結尾。輸出兩行:第一行去掉 <>
LeetCode Regular Expression Matching:遞歸與動態規劃兩種解法
題目簡介 實現正則匹配:模式串 p 中 . 匹配任意單字符,* 匹配前一字符 0 次或多次。需完全匹配整個文本串 s。例如 isMatch(aa, a*) =
POJ 2488 A Knight's Journey:DFS 求騎士周遊字典序最小路徑
題目簡介 在 p×q 棋盤(p*q ≤ 26)上,騎士走「日」字(8 種方向)。求能否遍歷所有格子恰好一次,若能輸出字典序最小的路徑(格子名如 A1, B3..
生成唯一 ID 模板:年月日時分秒 + 6 位自增碼
需求背景 訂單 ID、商品 ID 等不想用資料庫自增,又怕 UUID 太長或重複。採用「年月日時分秒(14位)+ 6位自增序列」共 20 位字符串 ID。 實
LeetCode 32 Longest Valid Parentheses:棧與索引法求最長有效括號子串
題目簡介 給定只含 ( 和 ) 的字符串,求最長有效(匹配良好)括號子串長度。例如 (() → 2,)()()) → 4。 解法一:暴力遞減長度檢查(超時)
擴展 MongoDB C# Driver 的 QueryBuilder:強類型查詢構建器
背景 為避免硬編碼字符串如 ClassA.MemberA.MemberB,設計了一組擴展類,支持通過 Lambda 表達式構建 MongoDB 查詢,自動解析成
Codeforces 229D Towers:動態規劃最少合併操作使塔高非遞減
題目簡介 有 n 座塔(n ≤ 5000),高度 h_i。每次操作可將一座塔移到相鄰塔頂(高度相加),被移動塔消失。求使塔高從左到右非遞減的最少操作數。 解題
HDU 1171 Big Event in HDU:多重背包分割物品使兩份價值最接近
題目簡介 有 n 種設施(n ≤ 50),第 i 種價值 v_i,數量 m_i。需分成兩份,第一份總價值 ≥ 第二份,且差值最小。輸出兩份價值。 解題思路 多
UVA 10479:找規律遞歸求序列第 n 項
題目簡介 序列生成規則:初始為 0。每一步將上一步的每個數字 x 替換為 x 個 0 後接 x+1。序列前幾項:0, 1, 0, 2, 1, 0, 0, 3,
Codeforces 534B Covered Path:速度變化約束下的最大路徑長度
題目簡介 已知起點速度 s、終點速度 e、總時間 t、每秒速度變化上限 d。求在 t 秒內行駛的最大距離。速度序列需滿足 |v[i] - v[i-1]| ≤ d