CodeChef Divide the Tangerine:區間包含關係判定的二分查找解法
問題描述 橘子 n 瓣(1~n 順時針編號)。Chef 計劃在 k 處切開,得到 k 個連續區間 [lᵢ, rᵢ]。調皮男孩實際在 p 處切開,得到 p 個區間
POJ 1135 Domino Effect:Dijkstra + 邊枚舉求最後倒下的骨牌
問題描述 n 個關鍵骨牌,m 條邊(連接兩骨牌,長度為倒牌傳遞時間)。從 1 號骨牌推倒,求**最後倒下的時間**及**位置**(骨牌上或兩骨牌之間)。輸出格式
HDU 3496 Watch The Movie:二維 01 背包 + 恰裝滿一維求最大價值
問題描述 DuoDuo 有 N 部想看的電影(N ≤ 100),每部有時長 Tᵢ 和喜愛值 Vᵢ。爺爺允許看 L 分鐘(L ≤ 1000)。商店**恰好賣 M
HDU 2132 An easy problem:前綴和預計算的 64 位整數陷阱
問題描述 定義 `sum(n)`: `sum(i) = sum(i-1) + i³` 如果 i 能被 3 整除, `sum(i) = sum(i-1) + i`
POJ 1742 硬幣問題:多重背包優化與狀態可達性統計
問題描述 農夫 John 想買價值 T 美分的物品,有 N 種硬幣(面值 Vᵢ,數量 Cᵢ)。店主擁有無限硬幣並能最優找零。John 想**最小化雙方硬幣總數*
Cracking the Coding Interview Q19.6:整數轉英文短語完整解法
題目描述 給定一個 0 到 999,999 之間的整數,輸出其英文描述。例如:94750 → Ninety Four Thousand Seven Hundre
遊戲主循環完整指南:從朴素循環到插值修正的四種模式演進
核心概念 邏輯幀:`update_game()`,處理輸入、AI、物理,需**固定時間步長**。 渲染幀:`display_game()`,繪製畫面,耗時不定
C++ const 關鍵字全方位解析:從變量到類成員的完整用法
一、const 是什麼? const 是**編譯期修飾符**,告訴編譯器「這個實體不應被修改」。編譯器會檢查所有寫操作,違規報錯。**不產生額外機器碼**,純靜
C/C++ 字符串完全指南:從基礎編碼到 STL string 實戰
1. 字符編碼基礎 類型說明例子 SBCS單字節字符集,每字符 1 字節ASCII MBCS/DBCS多字節字符集,含單/雙字節字符GBK, Big5 Uni
NYOJ 樹的判定:並查集 + 入度檢查確認有向圖是否為樹
問題描述 給定若干有向邊(u→v),判斷其是否構成一棵**樹**。樹的定義: 1. 有且僅有一個根節點(入度為 0)。 2. 其餘節點入度恰為 1。 3. 從根
ZOJ 2334:左偏樹 + 並查集維護可合併堆
問題描述 初始有 n 個堆,每堆一個數。支援操作:合併兩個集合(若屬於同一集合輸出 -1),合併時取兩堆的堆頂,各自除以 2(向下取整),重新插入,然後合併兩堆
POJ 2565 Ants:KM 算法求不相交匹配的幾何轉化
問題描述 給定 n 隻螞蟻(白點)和 n 棵蘋果樹(黑點),平面上無三點共線。需將每隻螞蟻分配給一棵樹,連線段,**所有線段兩兩不相交**。保證解存在。輸出每隻
CodeChef Mike and Stamps:狀態壓縮 + DFS 剪枝求最大可接受報價數
問題描述 Mike 有 N 張郵票(N ≤ 20,000),每張唯一。收到 M 個報價(M ≤ 20),每個報價想買一組郵票。Mike 不能部分接受報價,且每張
C++ 編譯錯誤解決:'strdup' was not declared in this scope
錯誤現象 error: strdup was not declared in this scope 使用 strdup 時編譯器報錯,提示未聲明。 原因分析
C++ 代碼重構實戰:從 C 風格到模板的三階段演進
重構哲學:邏輯與接口分離 寫數據結構代碼時,目標是「算法正確、封裝優秀」。建議採用**三階段漸進式重構**: C 階段:只關注算法邏輯,用 struct +
HDU 3461 Code Lock:並查集 + 快速冪求解鎖碼數量
問題描述 有 n 個字符位置,初始每位可任選 26 個字母。給出 m 個限制條件,每條形如「區間 [a, b] 內的字符必須完全相同」。求滿足所有限制的鎖碼總數
Codeforces cAPS lOCK 題解:有限狀態自動機優雅處理大小寫轉換
問題描述 給定一個單詞,若滿足以下任一條件,則判定為「誤開 Caps Lock」並需翻轉所有字母大小寫: 1. 全部為大寫(如 HTTP)。 2. 僅首字母小寫
POJ 2985 Treap 平衡樹實現第 K 大元素查詢
問題背景 有 n 個區間,初始每個區間長度為 1。支援兩種操作: 1. 合併兩個區間(長度相加)。 2. 查詢當前所有區間長度中**第 k 大**的值。 n,