UVA 1436 Counting heaps 樹形計數與質因子分解取模
組合計數公式 給定樹結構,節點填 1..n 且父節點 < 子節點。以 u 為根的子樹方案數: f(u) = (size(u)-1)! / ∏_{v 為 u 子孫
POJ 3261 Milk Patterns 後綴數組+二分求最長重複子串
問題描述 給定長度 N 的整數序列,求至少出現 K 次的子串最大長度(允許重疊)。 解題框架 構建後綴數組 SA 與 Height 數組 二分答案長度 L
UVA 12716 GCD XOR 數論構造與預處理優化
問題分析 給定 N(≤ 3×10⁷),求滿足 gcd(A,B) = A^B 且 B ≤ A ≤ N 的數對 (A,B) 數量。多組查詢,需預處理前綴和。 構造
C++ 中 & 符號雙重含義:引用與取地址詳解
兩種用法對比 場景語法含義示例 類型聲明中Type& name = expr引用(別名)int i=20; int& m=i; m 是 i 的別名 表達式中&
UVA 1069 Always an integer 有限差分判定多項式整值性
數學原理 多項式 P(n) 對所有正整數取整值 ⇔ 其前 k+1 項(k 為最高次)均為 d 的倍數(d 為分母)。 基於有限差分: k=0:常數項直接判斷
HDU 3480 Division 斜率優化 DP 詳解
問題建模 將 N 個整數排序後分成 M 組,每組代價 = (最大值 - 最小值)²,最小化總代價。排序後最優分組必連續。 DP 方程 dp[i][j] = 前
SPOJ 694/705 Distinct Substrings 後綴數組經典應用
問題本質 求字符串本質不同子串數量。子串必是某後綴的前綴。後綴數組 SA 排序後,第 i 個後綴貢獻 n - SA[i] - height[i] 個新子串(扣除
UVA 11754 Code Feat 中國剩余定理與暴力枚舉雙策略
問題描述 給定 C 個條件,每條件:模數 X,允許餘數集合 {y₁..yₖ}。求滿足所有條件的最小 S 個正整數 N。 雙策略決策 總組合數 total =
UVA 11916 Emoogle Grid 大步小步算法求解
問題重述 M×N 網格,K 種顏色,B 個格子不塗色。同列相鄰格子顏色不同。已知總方案數 R = 總方案數 mod (1e8+7),求最小 M。 數學建模 固
UVA 766 Sum of powers 伯努利數求冪和係數
問題背景 求 並展開為 的多項式係數,輸出最小公倍數 L 及各係數分子。 數學推導 利用伯努利數性質: 推導得 伯努利數遞推公式: 係數計算:a[i]
UVA 11090 Going in Cycle!! 最小平均權環 二分+SPFA
問題描述 給定有向加權圖(n≤50),尋找平均權重最小的環。環的平均權重 = 環上邊權總和 / 邊數。若無環輸出 No cycle found.。 解題思路:
二分查找進階:lower_bound / upper_bound 尋找上下界完整解析
標準二分查找模板 int binary_search(int *a, int n, int key) { int l = 0, r = n - 1;
POJ 2286 The Rotation Game - IDA* 迭代加深 A* 求解
題目大意 24 個數字排成特定圖形,8 種旋轉操作 (每操作循環移動 7 個位置)。 給定初始狀態,求最少步驟讓中心 8 個位置 (7,8,9,12,13,16
POJ 2676 Sudoku - 數獨求解器優化回溯
題目大意 標準 9×9 數獨,多測資。每行、每列、每 3×3 宮數字 1-9 不重複。 輸入 0 表示空格。輸出任一合法解。 優化回溯關鍵技術 1. 位掩碼
HDU 2612 Find a Way - BFS 雙向最短路尋找 KFC
題目大意 n×m 地圖,Y 和 M 兩人從各自位置出發,尋找最近的 KFC (@)。 可上下左右移動,牆 (#) 不可通行。 Y 和 M 互視為牆 (不可經過對