HDU 1020 字符串壓縮編碼:連續字符計數輸出
問題描述 輸入字符串,將連續相同字符壓縮為 計數+字符 形式。計數為 1 時只輸出字符。多測試用例。 例:aaabbc → 3a2bc 算法邏輯 掃描字符串
HDU 1258 Sum It Up:DFS 回溯求目標和的所有組合
問題描述 給定目標和 t 和 n (≤ 12) 個正整數(非遞增序),每個數最多用一次,輸出所有和為 t 的組合,按字典序降序,去重。無解輸出 NONE。 D
HDU 2430 Beans:單調隊列優化區間模約束最值問題
問題建模 有 n 堆豆子,第 i 堆 w[i] 粒。選連續區間 [l, r],用容量 p 的背包裝,剩餘 sum % p ≤ k。求最大裝包數 sum / p,
UVa 10282 Babelfish:哈希表實現雙語詞典查詢
問題描述 輸入 ≤ 100,000 條詞典項:english_word foreign_word。隨後輸入 ≤ 100,000 個查詢詞(外語),每行一個。輸出
VS2010 C++ 常見編譯錯誤原因與解決方案
錯誤 1:預編譯頭缺失 fatal error C1010: unexpected end of file while looking for precomp
POJ 2407 Relatives:歐拉函數 φ(n) 計算與大素數優化
問題描述 給定 n (1 ≤ n < 2³¹),求小於 n 且與 n 互質的正整數個數,即 歐拉函數 φ(n)。多測試用例,n=0 結束。 歐拉函數公式
POJ 1730 Perfect Pth Powers:整數冪次分解與精度控制
問題描述 給定 32 位有符號整數 n (n ≠ 0),求最大整數 p ≥ 1 使存在整數 a 滿足 aᵖ = n。若 n < 0,p 必須為奇數。 關
POJ 2551 Ones 與 POJ 2262 Goldbach's Conjecture:同餘與素數篩法
POJ 2551 Ones:最小全 1 倍數 問題 給定 n,求最小 k 使 n 整除 k 個 1 組成的數(即 111...1)。 數學轉化 設 R(k)
HDOJ 2586 How far away?:Tarjan 離線 LCA 求樹上兩點距離
問題描述 給定一棵 N 個節點的無向樹(邊有權),M 個查詢 (u, v),求 u 到 v 的距離。N ≤ 40000, M ≤ 20000,多測試用例。 核
Effective C++ 條款 18-22:類與函數設計精要
條款 18:讓介面完備且精簡 核心:介面方法過多會讓用戶迷失、增加維護成本、編譯緩慢;過少則不便使用。判斷標準:「加入此方法是否讓類更好用?是否能減少客戶端錯誤
HDU 3473 Minimum Sum:劃分樹求區間中位數與絕對值和最小化
問題轉化 給定數組,多次查詢:區間 [l, r] 內選一個 x,使 Σ|aᵢ - x| 最小。中位數使絕對值和最小。問題轉化為: 求區間第 k 小(k = (
排序算法詳解(一):直接插入排序與希爾排序
排序基礎概念 排序是將任意序列重排為按關鍵字有序的序列。按存儲方式分:內部排序(全在內存)與外部排序(需外存)。本系列專注內部排序。 插入排序家族 核心思想:
POJ 3169 Layout:差分約束系統與 Bellman-Ford 算法深度解析
問題重述 N 頭奶牛按編號站成一排,位置可重疊。ML 條好感約束:D[j] - D[i] ≤ L;MD 條厭惡約束:D[j] - D[i] ≥ D。另順序約束:
POJ 2605 SETI:范德蒙德矩陣與高斯消元求解多項式係數
問題描述 給定素數 p 和字符串 str,定義 f[i] = Num(str[i]):* 為 0,a~z 為 1~26。構建 n 元線性方程組: (a₁·k⁰
POJ 1222 EXTENDED LIGHTS OUT:高斯消元法解燈泡開關問題
題目背景與核心挑戰 經典的「關燈遊戲」變體:給定一個 5×6 的 0-1 矩陣,0 代表燈滅、1 代表燈亮。每個位置對應一個按鈕,按下時會翻轉自身及上下左右四個
UVa 704 Colour Hash:雙向 BFS 求解雙輪拼圖最少步數
問題描述 雙輪拼圖,每輪 12 個位置(共 24 位),每位為 0~10 共 11 種顏色塊。四種操作:左輪順/逆時針旋轉一步,右輪順/逆時針旋轉一步。給定初始