HDU 1018 Big Number:階乘位數計算——對數累加與斯特靈公式兩種解法
問題描述 給定整數 n (1 ≤ n ≤ 10^7),求 n! 的十進制位數。多組測試數據。 數學原理 n! 的位數 D = ⌊log₁₀(n!)⌋ + 1。
HDU 1525 Euclid's Game:博弈論找規律與必勝策略分析
題目背景 兩位玩家 Stan 和 Ollie 輪流操作:從較大的數減去較小數的任意正整數倍,結果需非負;先使任一數變 0 者獲勝。Stan 先手。給定初始數對,
HDU 1002 A + B Problem II:大整數加法詳解與 C++ 實作
題目概述 HDU 1002 是一道經典的大整數加法題目。給定兩個最長可達 1000 位的正整數 A 和 B,要求計算它們的和。由於位數遠超 32 位甚至 64
POJ 2451 Uyuw's Concert:半平面交 O(n log n) 求多邊形核面積
問題描述 給定一組有向邊(向量),它們按順序構成一個多邊形邊界。求該多邊形的核面積,即從核內任意點可見整個多邊形的區域面積。等價於求所有半平面(邊內側)的交集面
The Bottom of a Graph:強連通分量縮點找出度為零分量
問題描述 給定有向圖,求所有屬於「底部」的頂點。定義:頂點 v 在底部,當且僅當對於所有可達頂點 u,u 也可達 v。等價於:v 所在的強連通分量(SCC)在縮
HDU 3080 The plan of city rebuild:動態最小生成樹與節點刪除
問題描述 初始有 L 個村莊、E1 條路。新增 N 個村莊、E2 條路(新村莊編號 L..L+N-1)。再刪除 M 個村莊(含其連接路)。判斷剩餘村莊是否連通,
HDU 3441 Rotation:雙層 Polya 計數定理與大數因數分解
問題描述 有一個 A×A 大正方形,拆成 A² 個單位正方形。用它們拼成 K 個 B×B 正方形,剩 1 個單位正方形置中心(A² = K·B² + 1)。K
HDU 1072 Nightmare:BFS 最短路徑與能量補給機制
問題描述 M×N 地圖(M,N ≤ 10),格子類型: 0:障礙 1:普通路 2:起點 3:終點 4:能量補給站(踩上恢復能量為 6) 初始能量 6,每步消
UVa 10041 Vito's Family:中位數最小化絕對距離和
問題描述 Vito 要在親戚居住的街道上選一個門牌號,使得到所有親戚家的距離絕對值之和最小。給定 r 個門牌號(可重複),求最小距離和。 數學結論 對於一組數
HDU 3816 To Be NUMBER ONE:埃及分數分解構造互質倒數和
問題描述 對每個 N = 3..18,找出 N 個互不相同的正整數 A_i ≤ (N+1)^2,使得 Σ 1/A_i = 1。輸出 16 行答案(N=3 到 1
POJ 2938 Economic Phone Calls:動態規劃優化電話記錄選擇
問題描述 給定按時間倒序排列的通話記錄(含月、日、時、分、年份偏移、是否必選標記)。需選擇最少數量的記錄,使得: 所有必選(+)記錄被選中 選中的記錄按時間正
POJ 2817 Wordstack:狀態壓縮 DP 求最大公共前綴和
問題描述 給定 N ≤ 10 個單詞,需排列順序使得相鄰單詞「匹配長度」之和最大。匹配長度定義為:兩單詞對齊時,相同位置相同字符的最大數量(允許錯位對齊)。
設計模式精講:簡單工廠模式 C++ 模板實現
模式動機 當創建對象的邏輯較複雜、或未來可能增加新的具體類型時,將實例化過程封裝到一個專門的工廠類中,客戶代碼僅依賴抽象接口,實現創建與使用分離。 類圖結構
Xcode 中 C++ 與 Objective-C 混編實戰指南
場景與痛點 iOS 開發中,為了性能或跨平台復用,常需在 Objective-C 專案中調用 C++ 代碼。直接在 .m 文件包含 C++ 頭文件會報錯 ios
POJ 1654 Area:任意多邊形面積與向量叉積應用
問題描述 從原點出發,給定 8 方向移動指令序列(數字 1~8 對應 8 個方向),路徑首尾相連形成閉合多邊形。求多邊形面積。多測試用例。 核心算法:向量叉積
HDU 2604:DFA 建模 + 矩陣快速冪取模
問題背景 給定長度 len 和模數 mod,求滿足特定條件的字串數量模 mod。核心是將遞推關係建模為確定性有限自動機 (DFA),轉移矩陣為 6×6,通過矩陣
C/C++ 數據類型轉換詳解:符號擴展、零擴展與截斷
核心概念 當不同位寬、不同符號屬性的整數類型相互賦值或運算時,編譯器會自動插入轉換指令。理解這些規則對編寫正確、高效、可移植的代碼至關重要。 一、擴展轉換(小