HDOJ 2303 The Embarrassed Cryptographer:大整數質因數檢測
題目大意 給定大整數 K(≤ 10^100)和下界 L(≤ 10^6)。K 是兩個質數的乘積。若 K 存在質因數 p < L,輸出 BAD p(p 為最小質因數
Codeforces Round #157 Div.1 B:數位 DP 計數含 4/7 的數字
題目大意 給定 n,求有多少個不超過 n 的正整數,其十進制表示中恰好包含 k 個數字 4 或 7?其中 k 從 1 到 6(或更大),需對答案取模 1e9+7
BZOJ 4027 兔子與櫻花:樹形貪心刪除節點
題目大意 給定一棵有根樹,每個節點有若干櫻花。可刪除節點,刪除後該節點的櫻花及其子樹全部掛到其父節點。要求每個節點最終的「櫻花數 + 子節點數」不超過 m。求最
POJ 3414 Pots:BFS 求兩水壺問題最短操作序列
問題描述 有兩個水壺,容積分別為 A、B 升。允許操作: FILL(i) —— 將壺 i 裝滿 DROP(i) —— 將壺 i 倒空 POUR(i,j) ——
C++ STL vector 完整使用指南
vector 簡介 vector 是 STL 中最常用的順序容器,底層由動態數組實現,支持隨機訪問(下標操作),可存放任意類型元素。與靜態數組不同,vector
HDU 1423 最長遞增公共子序列(LCIS)
題目描述 給定兩個序列 A(長度 n)和 B(長度 m),求既是 A 的子序列又是 B 的子序列,且嚴格遞增的最長序列長度。n, m ≤ 500。 動態規劃解
LeetCode 1 兩數之和:哈希表實現 O(n) 最優解法全語言示範
問題描述 給定整數數組 nums 和目標值 target,找出兩數之和等於目標值的下標(1-based),保證唯一解。 兩種核心思路 暴力法 O(n²) 雙重
POJ 動態規劃 DP 題目:區間平均值最大化
題目回顧 給定 n 個牛圈,每個牛圈有若干頭牛。需選擇連續至少 f 個牛圈,使得所選區間內牛的平均數最大。輸出最大平均值乘 1000 後的整數部分。 狀態定義
C++ 雙重分派與訪問者模式:從編譯時重載到運行時多態的演進
問題起因 代碼審查中同事建議:「使用了多個 instanceof,這是雙重分派的跡象,可考慮訪問者模式。」由此引發對 Double Dispatch 與 Vis
HDU 1261 字串數:多重集排列計數與大整數運算實現
問題描述 給定 n 種字母及其個數 a₁, a₂, ..., aₙ,求能組成的不同字符串總數。本質是多重集排列計數: Ans = (Σaᵢ)! / (a₁! ×
BZOJ 1227 [SDOI2009] 虔誠的墓主人:離線處理 + 樹狀數組 + 離散化的極致應用
問題大意 在 10⁹ × 10⁹ 的巨大網格中給出最多 10⁵ 棵樹,每棵樹有坐標 (x, y) 和權值。需計算滿足特定幾何條件的四元組數量,答案模 2³¹。暴
C++ 全排列遞歸算法深度解析:以空間換時間的經典回溯思想
核心思想 全排列的遞歸定義:設集合 R = {r₁, r₂, ..., rₙ},Rᵢ = R - {rᵢ}。則 Perm(R) = (r₁) + Perm(R₁
UVALive 3641 列奧納多筆記本:置換平方根與波利亞定理的應用
問題背景 給定一個 26 個大寫字母的排列 B,判斷是否存在排列 A 使得 A² = B(即 A 作用兩次得到 B)。這是群論中尋找置換平方根的問題。 數學原
LeetCode 最長公共前綴:橫向掃描與縱向比較的優雅實現
問題描述 給定一個字符串數組,找出所有字符串共有的最長前綴。若不存在公共前綴,返回空字符串。 核心觀察 最長公共前綴的長度不可能超過數組中最短字符串的長度。因
Codeforces Round #167 (Div. 1) B 題解:排序與階乘計算的巧妙應用
問題背景 這是一道經典的 Codeforces 競賽題目,核心在於對數據進行排序後,利用組合數學中的階乘計算來求解答案。題目要求我們處理一系列數對 (x, y)
POJ 3186 區間 DP:從雙端取數最大化加權和
題目大意 給定長度 n 的數列 a[1..n]。每次從**左端**或**右端**取一個數,第 i 次取出的數乘以 i 計入總分。求最大總分。 狀態定義 dp[
FZU 2192 種類並查集:城市-服務-人三層關係建模
題目場景 有城市、服務、人三類實體,編碼分段:1..N 城市,N+1..2N 服務,2N+1..3N 人。給定若干關係(如「人屬於某服務」「服務屬於某城市」),
Codeforces 302D Destroying Roads:最短路枚舉公共路段最大化刪除邊數
問題重述 無向無權連通圖 n ≤ 3000, m ≤ n(n-1)/2。需保留邊使得: dist(s1, t1) ≤ l1 且 dist(s2, t2) ≤ l