HDU 4970:樹狀數組區間更新與查詢——塔防遊戲問題解析
題目背景與核心需求 HDU 4970 是一道經典的「塔防」模型題目。給定 1 到 n 的直線路徑,上面部署了 m 座防禦塔,每座塔擁有攻擊力並覆蓋一個區間 [l
POJ 2407 Relatives:歐拉函數 φ(n) 計算
問題 給定 n ≤ 1e9,求 [1, n) 中與 n 互質的數個數,即歐拉函數 φ(n)。多組輸入,n=0 結束。 公式 φ(n) = n * ∏_{p|n
C++ 簡易 LRU Cache 實現(基於數組)
設計思路 用固定大小數組 + 邏輯順序模擬 LRU:數組尾部為最近使用,頭部為最久未用。get 命中時將該元素移至尾部;set 時若存在則更新並移至尾部,否則若
UVA 11651 Krypton Number System:矩陣快速冪優化 DP
問題描述 給定進制 base (≤6) 和目標分數 score。求 base 進制下、無前導 0、無相鄰相同數字的數,其「相鄰兩位平方差和」等於 score 的
UVA 1356 Bridge:拋物線繩索長度積分與二分求高度
問題重述 長度 B 的橋上建塔,塔間距 ≤ D,塔高 H,塔間繩索形成全等拋物線,總長 L。求建最少塔數下,繩索最低點離地面高度。 解題步驟 貪心確定塔數:
C++ 模板進階:顯式具體化與顯式實例化詳解
為什麼需要具體化? 通用模板無法處理某些類型(如自定義類缺少運算符)。例如 mSwap 對 man 類失效,因 man 無 operator= 或流輸出。 顯
HDU 4960 Another OCD Patient:區間 DP + 分塊優化
問題描述 給定 N ≤ 5000 個塑泥體積 V_i,需合併連續段使序列對稱(如 10 20 20 10)。合併 i 個連續塊花費 a_i(a_1=0)。求最小
ZOJ 3794 Greedy Driver:雙向最短路+貪心決策
問題大意 有 n 個城市、m 條雙向道路,油箱容量 C。部分城市有加油站(到達即滿油),部分城市可買賣燃油(價格 money[i])。從 1 出發到 n,求最大
HDU 4959 Poor Akagi:盧卡斯數冪和與二次域快速冪
問題描述 盧卡斯數列:L(0)=2, L(1)=1, L(n)=L(n-1)+L(n-2)。給定 N ≤ 10^18, K ≤ 10^5,求 ∑_{i=0}^N
Codeforces Round #262 (Div. 2) A、B、C 題解匯總
A. Vasya and Socks 問題 Vasya 有 n 雙襪子,每天穿一雙並扔掉。每 m 天媽媽買一雙(傍晚買,次日才能穿)。問能連續穿幾天? 解法 模
HDU 4288 Coder:線段樹維護模 5 為 3 的下標元素之和
問題背景 給定一個初始為空的集合,需支持三種操作: add x:向集合中插入元素 x del x:從集合中刪除元素 x sum:查詢當前集合中下標對 5 取餘
LeetCode Word Break II:DFS + 備忘錄優化
LeetCode 140 Word Break II - 返回所有合法分詞句子 給定字符串 s 和詞典 dict,在 s 中加空格使每個詞都在詞典中,返回所有可
Codeforces Little Dima and Equation:枚舉數位和求解方程
Codeforces 460B - 方程 x = b·s(x)^a + c 的整數解 求 0 < x < 1e9 滿足 x = b * s(x)^a + c,其
HDU 3784 Collatz 猜想(3n+1)序列去重
HDU 3784 - Collatz 序列去重:標記中間值過濾輸入數字 對每個輸入數字 x,生成 Collatz 序列(偶數/2,奇數×3+1/2)直到 1。若
LeetCode Palindrome Partitioning II:DP + 回文預處理
LeetCode 132 Palindrome Partitioning II - 最少分割回文串 給定字符串 s,分割成若干回文子串,求最少分割次數(即最少切
HDU 1385 Minimum Transport Cost:Floyd 最短路 + 字典序最小路徑
HDU 1385 - 城市運輸最小費用:Floyd-Warshall + 路徑字典序 N≤50 城市,邊權 a[i][j](-1 表示無邊),過路費 b[i]。
SGU 199 Beautiful People:LIS O(n log n) 求最長嚴格遞增子序列
SGU 199 - 最長嚴格遞增子序列 O(n log n) 並輸出路徑 N ≤ 100,000,每人有力量 S_i 和美貌 B_i。若 S_i ≤ S_j 且
Codeforces Round #262 (Div. 2) 解題報告:A、B、C 三題詳解
Codeforces Round #262 (Div. 2) 解題報告:A、B、C 三題詳解 A. Vasya and Socks n 雙襪子,每天穿一雙扔掉