HDU 4565 So Easy!:共軛根技巧 + 矩陣快速冪求模數列
問題描述 給定整數 a, b, n, m,求 S_n = (a + √b)^n + (a - √b)^n (mod m)。其中 n ≤ 10^18,m ≤ 10
HDU 1247 Hat's Words:字典樹模板查找可拆分單詞
問題描述 給定一個單詞列表(以 EOF 結束),找出所有可以由列表中**另外兩個單詞**拼接而成的單詞。輸出這些單詞,按輸入順序。 字典樹 + 枚舉拆分點
UVA 11256 Repetitive Multiple:數論構造最小重複數字倍數
問題描述 給定 n(≤ 10^18?實際測試較小),找最小正整數 X 滿足: X 是 n 的倍數。 2. X 是「重複數字」:即由某個長度 k 的數字
HDU 3853 LOOPS:期望 DP 逆向推導計算最小功耗
問題描述 網格 r × c,從 (1,1) 走到 (r,c)。每步消耗 2 功率。從 (i,j) 有三種移動概率:留原地 p0、右 p1、下 p2(p0+p1+
Flatten Binary Tree to Linked List:二叉樹展開為鏈表的兩種原地算法
問題描述 給定二叉樹,原地將其展開為單鏈表:每個節點的 left = nullptr,right 指向先序遍歷的下一個節點。例如: 2 / \ \
UVA 11291 Smeech:遞歸下降解析表達式求值
問題描述 Smeech 語言表達式定義: 整數(可帶負號) ( p e1 e2 ):其中 p 為 0~1 實數(含 0.x 或 1),e1, e2 為
C++ Primer 4th 讀書筆記(第一部分):基礎語言特性精要
前言與快速入門 書中大量交叉引用,適合查閱;定位為指南性讀物,假設讀者掌握一種現代結構化語言。 main 返回值告知 OS 程序執行狀態;輸入操作符
CF D. Bag of mice:概率 DP 計算公主獲勝機率
問題描述 袋中有 w 白鼠、b 黑鼠。公主和龍輪流抓鼠(公主先抓),每次抓一隻。抓到白鼠者勝。龍抓鼠後,袋中會隨機跑掉一隻鼠(等概率)。求公主獲勝概率。 狀態
Codeforces 91B Queue:線段樹單點更新查詢最右較小元素
問題描述 n 隻海象排隊(1 號在隊尾,n 號在隊頭),年齡 a[i]i)存在年齡更小的海象,則為「它與最遠的那個更小海象之間的海象數」;否則為 -1。求每隻海
UVA 1385 Billing Tables:字典樹區間合併生成最小計費表
問題背景 給定 n 條電話號碼前綴區間 [L, R] 及其對應區域名。對於任意查詢號碼,從舊表按最長前綴匹配原則確定區域。要求生成一張新的最小計費表:將擁有相同
UVA 1076 Password Suspects:AC 自動機 + 狀態壓縮 DP 計數與生成密碼
問題描述 密碼長度 N(≤ 25),給定 M(≤ 10)個子串。求有多少個長度為 N 的小寫字母字符串,包含所有 M 個子串(至少各一次)。若總數 ≤ 42,按
UVA 10829 L-Gap Substrings:雙向後綴數組計數 UVU 模式子串
問題描述 給定字符串 S(長度 ≤ 10^5)和整數 g,統計有多少子串符合 U V U 形式,其中 U 非空,V 長度固定為 g。子串不同位置視為不同。 核
POJ 3693 Maximum Repetition Substring:後綴數組+RMQ求最長重複子串
問題定義 給定字符串,求出現次數最多的「循環子串」(即形如 U^k 的子串,k 最大),若有多個輸出字典序最小者。 核心觀察 若子串 T 由長度為 l 的模式
CF 46D Parking Lot:線段樹維護停車位區間
問題描述 街道長度 L(10~100,000),車輛長度不一。車輛到達時需找最左邊能停放的位置:與前車距 ≥ f,與後車距 ≥ b(邊界視為無車)。車輛離開時釋
POJ 1149 PIGS:最大流模型的巧妙構造
問題場景 M 個豬圈,每圈初始有若干豬。N 個顧客依次到來,每位顧客打開指定的若干豬圈,從中購買豬(有購買上限)。顧客離開後,其打開的豬圈間可以任意調豬,隨後所
UVA 10746 Crime Wave – The Sequel:最小費用最大流解決派車問題
問題重述 n 家銀行被搶(n ≤ m ≤ 20),m 輛警車分散在城市各處。需派遣 n 輛車分別前往 n 家銀行,使平均到達時間最小。輸入給出每輛車到每家銀行的
UVALive 4885 Task:差分約束系統求可行解
問題建模 有 n 個任務,m 個限制條件: task i starts at least A minutes later than task j → i
UVALive 4882 Parenthesis:刪除多餘括號的模擬算法
問題描述 給定一個合法的括號表達式(僅包含 (, ), +),要求刪除所有「不必要的括號」。所謂不必要,是指刪除後不改變表達式的運算語義——即括號內只有一個運算