POJ 2553 The Bottom of a Graph:Tarjan 縮點找出度為 0 的強連通分量
問題描述 有向圖 G(V,E),|V| ≤ 5000。節點 v 為「汇點」:對任意可從 v 到達的 w,w 也能到達 v。求所有汇點(即 bottom 集合),
UVA 10106 Product:大整數乘法(模擬豎式)
問題描述 兩個不超過 250 位的非負整數相乘,輸出積。多組輸入,每組兩行,EOF 結束。 模擬豎式乘法 字串反轉存入數組 s1[], s2[](個位在索引
HDU 1879 繼續暢通工程:Prim 算法求最小生成樹
問題描述 N (≤ 100) 個村莊,給出所有 N(N-1)/2 條邊的成本與是否已建(1=已建, 0=未建)。已建道路成本視為 0。求使全圖連通的最小額外成本
約瑟夫問題:線段樹優化 O(n log n) 求解
問題描述 n 人圍圈,每次數 k 個人淘汰一個,求淘汰順序。n ≤ 30000,暴力模擬 O(nk) 可能超時。 線段樹優化思路 維護區間「存活人數」。每次需
ACM 1001 Exponentiation:高精度浮點數冪運算(模擬手算乘法)
問題挑戰 計算 R^n,R ∈ (0, 99.999),n ≤ 25。結果位數極大(樣例達 50+ 位),無內建型別可容納,需高精度實現。 核心思想:數組模擬
C++ STL 容器元素排序與去重完整示範
核心操作流程 sort:預設遞增序(operator) unique:將重複元素移至末尾,返回新邏輯末尾迭代器 erase:物理刪除多餘元素 stable_s
CF 337B Routine Problem:螢幕與影片比例的最簡分數
問題描述 螢幕比 a:b,影片比 c:d。影片等比縮放至螢幕內最大化顯示(保持比例、完整可見)。求空白區域面積佔螢幕總面積的比例,輸出最簡分數 p/q。 幾何
POJ 2411 Mondriaan's Dream:狀態壓縮 DP 鋪磚塊計數
問題描述 R × C (≤ 11×11) 網格,用 1×2 磚塊完全鋪滿(可橫放或豎放),求方案數。多測資,R=0,C=0 結束。 狀態定義 逐行 DP。狀態
CF 337A Puzzles:排序後滑動窗口最小差值
問題描述 從 m (≤ 50) 個拼圖中選 n 個送給學生,每個拼圖有片數 f_i。最小化所選拼圖最大片數與最小片數的差值 A - B。 解法:排序 + 固定
UVA 10026:Shoemaker's Problem (貪心排序)
題目大意 有 n 雙鞋,每雙有罰款 fine 和修補時間 time。順序修補,總罰款 = ∑ fine_i * (前綴時間和)。求最小總罰款的修補順序(輸出原始
POJ 1228:穩定凸包 (Graham Scan + 共線判斷)
題目大意 給定凸包上的點(無內部點),判斷凸包是否「穩定」。穩定定義:不能在原凸包外添加點使其擴大且仍包含所有原點。等價於:凸包每條邊上至少有 3 個點(含端點
HDU 4570:Multi-bit Trie (DP 優化)
題目大意 給 n 個數 a_i,需分段(每段長度 ≤ 20),使 ∑ a_{start} * 2^{len} 最小。輸出最小值。 DP 定義 dp[i] 表示
HDU 1875:暢通工程再續 (Prim + 幾何距離)
題目大意 百島湖 C ≤ 100 個小島,坐標已知。若兩島距離在 [10, 1000] 米可建橋,造價 100 元/米。求最小總造價,若無法全連通輸出 oh!。
HDU 1863:暢通工程 (Prim 最小生成樹)
題目大意 給定 N 條可能修建的道路、M 個村莊(M < 100),每條道路有成本。求使所有村莊連通的最小成本,若無法連通輸出 ?。 Prim 算法 適用於
C語言鏈表實戰:從基礎操作到合併兩條鏈表
鏈表結構設計 採用帶頭節點的單向鏈表,頭節點不存儲數據,便於統一插入/刪除邏輯。 typedef int DataType; typedef struct Si
HDU 1035:Robot Motion (DFS 模擬)
題目大意 n x m 地圖,機器人從第 1 行第 k 列進入。每格指令 N/E/S/W 表示移動方向。機器人按指令移動,走出地圖則成功,若進入循環則輸出循環前步
UVA 11354:Bond (MST + LCA 瓶頸路)
題目大意 無向圖 n ≤ 50000, m ≤ 100000,查詢 Q ≤ 50000 次兩點間的瓶頸路(路徑上最大邊權最小)。 解法 Kruskal 構建
HDU 2275:Multiset 操作 (STL multiset)
題目大意 支援兩種操作: Push x:將 x 插入容器。 Pop x:刪除並輸出容器中 ≤ x 的最大值。若不存在輸出 No Element!。 數據可重