HDU 1548 A strange lift:BFS 求電梯最短時間
題目描述 有 n 層樓,每層樓有一個數字表示可上下移動的層數。從 A 層出發,每次只能按當前樓層指示的上下移動,不能超出 1~n。求到達 B 層的最短時間(每次
HDU 3351 括號匹配:貪心策略最少翻轉次數
題目大意 給定一個只包含 { 和 } 的字符串,允許翻轉括號方向,求使字符串完全匹配所需的最少翻轉次數。字符串以 - 開頭結束輸入。 貪心算法 從左到右掃描,
查找單鏈表中點:快慢指針法 O(N) 時間 O(1) 空間
問題 給定單鏈表頭指針,要求在 O(N) 時間內找到中點節點(若長度為偶數,通常返回第 n/2 個節點)。 快慢指針算法 設置兩個指針 fast 和 slow
POJ 1459 Power Network:最大流模型構建
問題描述 有發電站、用電站和傳遞站,邊有傳輸容量限制。求用電站能獲得的最大電力。這是標準的最大流問題:添加超級源點連接所有發電站,超級匯點連接所有用電站,中間傳
POJ 1942 組合數計算:C(a+b, a) 高效求解
題目描述 給定 a, b,計算組合數 C(a+b, a) = (a+b)! / (a! b!)。輸入多組數據,直到 0 0 結束。 計算技巧 直接計算階乘會溢
UVA 409 Excuses, Excuses!:關鍵詞匹配與借口統計
題目大意 給定一組關鍵詞和若干借口句子,統計每個借口中關鍵詞出現的次數(不區分大小寫,匹配要求單詞邊界),找出包含關鍵詞最多的借口並輸出。 解題思路 將所有借
動態規劃經典例題:HDU 1024 最大 m 段子數組和
問題描述 給定長度為 n 的整數數組,將其分成 m 個互不相交的連續子段,使這 m 段子數組元素之和最大。輸出最大和。 DP 狀態定義 f[i][j]:前
UVA 10878 Decode the tape:二進制解碼輸出字符
題目大意 輸入包含多行字符串,每行由空格、o 和 . 組成。將空格視為 0,o 視為 1,忽略 .,每行中間 9 個字符構成一個 8 位二進制數(最高位在左),
HDU 1051 Wooden Sticks:貪心策略求最少重置次數
題目描述 有 n 根木棍,每根有長度和重量。機器加工木棍需重置,若下一根木棍的長度和重量都不大於上一根,則無需重置。求完成所有木棍加工的最少重置次數。 貪心策
圖論技巧:將邊權拆分為點權解決選點問題
問題背景 給定帶點權和邊權的無向圖,兩名玩家輪流選點,最終得分差最大化。若無邊權,只需按點權從大到小排序;有邊權時,可將邊權平均分配給兩端點,轉化為純點權問題。
HDU 1274 字符串展開:遞歸解析嵌套結構
題目大意 給定一個包含數字、字母和括號的字符串,數字表示後面字符或括號內內容的重複次數,要求輸出完全展開後的字符串。例如 2(ab)3c 展開為 ababccc
HDU 4649 Professor Tian:位運算與動態規劃求期望
題目概述 HDU 4649 要求計算 n+1 個數經過位運算(AND、OR、XOR)後,每個二進制位為 1 的期望值。操作數範圍小於 2^20,暗示使用位運算與
HDU 2817 數列問題:快速冪求解詳解
題目背景 HDU 2817 是一道經典的數列問題,給定數列的前三項,該數列要么是等差數列,要么是等比數列,要求求出第 n 項的值(模 200907)。初次接觸時
HDU 4643 GSM:計算幾何 - 基站切換與中垂線交點
問題描述 N 個城市(點),兩兩直線鐵路相連。M 個基站。手機始終連接最近基站。從城市 A 到 B 沿鐵路移動,統計基站切換次數。切換發生在鐵路與兩基站連線中垂
POJ 2342 Anniversary Party:樹形DP求最大權獨立集
問題描述 公司層級結構為樹(根為校長)。每員工有「歡樂度」權值(可正可負)。派對邀請名單要求:不得同時邀請員工及其直屬上司。求最大歡樂度總和。N ≤ 6000。
HDU 4648 Magic Pen 6 另解:前綴和同餘 O(N) 解法
問題重述 同 ID 219400,此處提供另一風格實現,邏輯完全一致:前綴和模 M 同餘尋找最大下標差。 代碼特點 使用 map 記錄首次出現位置。 負數取
HDU 1042 N! 高精度階乘:數組模擬乘法
問題描述 計算 N! (N ≤ 10000),輸出完整十進制表示。結果位數極大(10000! 約 35660 位),需高精度運算。 算法:數組模擬手工乘法
ZOJ 1649 迷宮逃脫:BFS最短路('x' 格額外代價)
問題描述 N×M 迷宮,a 起點,r 終點,# 牆,. 空地,x 特殊格(經過需額外 1 步代價)。求最短步數,不可達輸出特定字符串。 算法:BFS + 狀態