UVALive 4255 Guess:前綴和拓撲排序重構序列
問題轉化 給定上三角矩陣,(i,j) 位置為 +/-/0,表示區間和 sum[i..j] 的正負零。 求任一滿足條件的整數序列 a[1..n],|a[i]| ≤
LeetCode 112 Path Sum:二叉樹路徑和判斷(遞歸與棧模擬)
問題描述 給定二叉樹根節點和目標和 sum,判斷是否存在從根到葉的路徑,節點值之和等於 sum。 葉節點:無左右子節點。 遞歸解法(最簡潔) val);
HDU 2063 過山車:二分圖最大匹配(匈牙利算法)
問題建模 M 個女生,N 個男生,K 個「願意配對」關系。每排坐 2 人(一男一女),求最多安排多少對。 經典二分圖最大匹配:左部女生,右部男生,邊表示可配對。
HDU 1061 Rightmost Digit:快速冪求 n^n 末位數字
問題簡化 求 n^n 的個位數字,即 n^n mod 10。 n 可達 2^31-1,直接算必溢出,需用模運算性質: (a × b) mod m = [(a m
ACdream 1187:Calkin-Wilf 樹的雙向查找(nth 元素與排名)
無限二元樹結構與性質 根節點 1/1。節點 p/q 的左子節點 p/(p+q),右子節點 (p+q)/q。 層序遍歷得到序列:1/1, 1/2, 2/1, 1/
HDU 1072 Nightmare:BFS + 狀態 DP 解決定時炸彈迷宮逃生
問題核心:狀態擴展的 BFS 迷宮 N×M (≤8),狀態: - 0: 牆、1: 空地、2: 起點、3: 終點、4: 重置裝置(炸彈歸 6)0 可重置為 6。
UVALive 3713 Astronauts:2-SAT 模型解決任務分配
問題建模為 2-SAT n 個宇航員,每人必須分配到 A、B、C 三種任務之一。約束條件: - 年齡 ≥ 平均年齡 → 可做 A 或 C - 年齡 < 平均年齡
ZOJ 3209 Dancing Links:精確覆蓋問題的 DLX 算法實戰
問題建模:矩形覆蓋轉化為精確覆蓋 給定 n×m 網格和 p 個矩形,每個矩形覆蓋若干格子。選擇最少矩形,使每個格子被恰好覆蓋一次。 這是經典的精確覆蓋問題,Da
POJ 1442 Black Box:Treap 實現區間第 k 大查詢
問題描述 輸入序列 a[1..n] 和查詢 x[1..m],對於每個 i,將 a[1..x_i] 插入數據結構,查詢前 x_i 個數中第 i 大的值(即第 i
HDU 1257 最少攔截系統:貪心 + 二分優化的 LIS 變體
問題轉化 導彈高度序列,每套系統只能攔截「遞減」高度的導彈。求覆蓋整個序列所需的最少系統數。 等價於:將序列分解為最少數量的非遞增子序列。 由 Dilworth
HDU 4738 曹操的橋樑:Tarjan 求割邊(橋)的最小權值
問題建模 給定無向圖,邊有權值(炸毀成本)。圖可能不連通、有重邊。要求: 1. 若原圖不連通 → 輸出 0(無需炸橋) 2. 若連通但無割邊 → 輸出 -1(無
HDU 4267 區間加等差數列與單點查詢:線段樹深度解析
題目核心挑戰 操作 1:在區間 [a, b] 內,對滿足 (i - a) % k == 0 的位置 i 加上 c(k ≤ 10) 操作 2:查詢單點 A[a]
HDU 1575 Tr A:矩陣快速冪求跡值
問題描述 給定一個 n×n 方陣 A,要求計算 Tr(A^k) % 9973,其中 Tr 表示矩陣的跡(主對角線元素之和),k 可高達 10^9 量級。 核心
HDU 4857 逃生:優先隊列 + 反向拓撲排序詳解
題目背景與核心思路 HDU 4857《逃生》是一道經典的拓撲排序變體問題。題目要求我們在有向無環圖(DAG)中找到一個特定的拓撲序列:優先處理「受限制條件多」(
LeetCode Add Binary:字符串二進制加法模擬
LeetCode 67 Add Binary - 二進制字符串相加 給定兩個二進制字符串 a, b,返回它們和的二進制字符串。長度可不等。 模擬逐位相加 從
C++ 操作符重載:operator type() vs operator() 區別詳解
C++ 類型轉換操作符 vs 函數調用操作符 兩種常見但易混淆的操作符重載形式: 1. 類型轉換操作符:operator Type() 無參數,無返回類型聲
UVA 10798 Be wary of Roses:狀態壓縮 BFS + 優先隊列
UVA 10798 - 玫瑰花園最小最大踩踏數:狀態 BFS n×n 地圖(n≤20),人從中心出發走到邊界。四個方向(上下左右)各自記錄踩到的玫瑰數(R)。選
Codeforces 156B Suspects:邏輯推理與 O(1) 判斷真假話
Codeforces 156B Suspects:嫌疑人陳述真偽判定 題目模型 n 嫌疑人,僅 1 人為真兇。每人陳述:+i 表示「i 是兇手」,-i 表示「i