HDU 3572 Task:最大流建模任務調度
問題建模 N 個任務,M 台機器。任務 i 需 P_i 天,可在 [S_i, E_i] 區間內選擇任意 P_i 天執行。每天每台機器只能跑一個任務,每個任務每天
HDU 1506 Largest Rectangle in a Histogram:單調棧 / DP 線性求解
問題 給定直方圖 n 個柱寬為 1、高度為 h[i],求最大矩形面積。 核心思想 對每個柱 i,向左右擴展直到遇到更矮的柱。面積 = h[i] * (right
Qt 模型/視圖框架下樹形數據的序列化與文件存儲
架構設計 DataItem:樹節點數據類,含 ID、名稱、子節點列表、父節點指針。核心方法 SerialzeData(bool isSave, QDataSt
UVA 10716 Evil Straw Warts Live:貪心構造回文最小相鄰交換次數
問題 給定字符串,每次交換相鄰字符,求變成回文串的最小交換次數。若不可能輸出 Impossible。 貪心策略 檢查字符頻率:至多一個奇數頻率字符,否則不可能
2011 ACM-ICPC 亞洲吉隆坡區域賽解題報告:多題綜述
包含題目 表達式等價判斷:隨機賦值法驗證兩算術表達式恒等。用棧模擬運算優先級(+ - * ^),多次隨機變量值測試。 點可見性統計:二維平面點與水平/垂直巡邏
C++ 左值引用、右值引用與移動語義深度解析
左值 vs 右值 左值:有名字、可取地址、可出現在賦值號左邊(如變量、解引用指針)。 右值:臨時對象、字面值、運算結果表達式、將亡值(如函數非引用返回值),通
CSU 1307 City Tour:Kruskal + Dijkstra 解決瓶頸最短路
題目要求 給定無向圖,求從 A 到 B 的路徑,使得路徑上最長邊最小;若有多條,求總長度最短的。 兩步法 Kruskal 求瓶頸值:邊按權升序加入並查集,當
LeetCode Populating Next Right Pointers II:層序遍歷連接下一右節點
問題 給定二叉樹,節點含 next 指針,將每層節點從左到右串聯,最後一個指向 NULL。樹不一定是完美二叉樹,空間要求 O(1) 額外空間。 O(1) 空間迭
HDU 3829 Cat VS Dog:二分圖最大獨立集轉化
題目轉化 N 隻貓、M 隻狗、P 個孩子。每個孩子喜歡一種動物、討厭另一種。移除某些動物,若孩子喜歡的在、討厭的不在,則高興。求最大高興孩子數。 建模為二分圖最
C++ 構造函數與析構函數:調用順序與對象生命周期
構造函數 對象創建時自動調用,用於初始化成員變量。 可重載,可有多個;無參或全有默認參數的為默認構造函數,只能有一個。 析構函數 對象銷毀前自動調用,用於
POJ 3271 Lilypad Pond:雙層 BFS 求最短路徑與方案數
題目背景 n×m 網格(n,m ≤ 30),格子類型:0=水、1=荷葉、2=起點、3=終點、4=障礙。青蛙跳躍規則:從當前格子出發,先橫向跳 1 格再縱向跳 2
HDU 4576 Robot:環上隨機行走概率模擬
問題描述 機器人在 n 個環狀格子(1~n)上,初始在 1。收到 m 個命令,每命令走 w 步,方向隨機(順/逆時針各 0.5)。求 m 命令後落在 [l, r
FZU 1692 Key Problem:循環矩陣快速冪優化
題目模型 n 人圍圈,每人初始蘋果數 a_i。每輪第 i 人增加 R*a_{i-1} + L*a_{i+1}(下標模 n)。經 m 輪後求各人蘋果數模 MOD。
HDU 4465 Candy:概率期望與對數優化組合數
問題背景 兩堆糖果各 n 顆,每次隨機從一堆取一顆吃,直到某堆空。求吃掉糖果總數的期望。輸入多組 n, p(從第一堆取的概率)。 數學推導 期望 E = Σ i
Codeforces DIV.2 A. The Wall:最大公約數計算區間倍數個數
題目轉化 給定 x, y, a, b,求區間 [a, b] 內同時是 x 和 y 的倍數的整數個數。即求 lcm(x, y) 在區間內的倍數個數。 公式 g =
HDU 3658 How many words:矩陣快速冪計數合法字符串
題目大意 從 52 個字母(大小寫)中選 m 個組成長度為 n 的字符串,滿足: 相鄰字符 ASCII 碼差絕對值 ≤ 32。 至少有一對相鄰字符差絕對值 =
Ural 1869 New Year Cruise:模擬列車客流計算最少車廂
問題描述 鐵路線有 n 站(1 到 n),火車往返。給定任意兩站間雙向客流量,每節車廂容量 36 人,求最少車廂數。 模擬邏輯 分兩方向模擬: 順向 (1→n
UVA 531 Compromise:最長公共子序列輸出
題目要求 給定兩個單詞序列,求其最長公共子序列(LCS)並輸出該序列(單詞間以空格分隔)。 動態規劃 + 路徑記錄 dp[i][j]:前 i 個與前 j 個單