HDU 1874 畢業旅行最短路:Dijkstra + 優先隊列(鄰接表)
題目大意 n(≤ 1000)個景點,m 條雙向道路(長度 w)。求從 s 到 t 的最短路徑長度。多測資,EOF 結束。 Dijkstra 算法核心 適用於
C++ 異常處理入門:<exception> 與 <stdexcept> 標準異常體系
標準異常相關頭文件 <exception>:定義基類 std::exception、std::bad_exception、std::nested_
ACE 框架跨平台編程(二):基本數據類型與寬字符移植層
ACE 跨平台四層架構 OS 適配層:系統 API 包裝 Wrapper Facade 層:同步、通訊、並發封裝 框架層:反應器、協議框架等 服務層:命名、日
C 語言實現兩字符串最長公共子串(LCS)O(nm) 動態規劃優化版
問題定義 給定字符串 A(長 m)、B(長 n),求**最長公共子串**(連續)的長度與內容。m,n ≤ 1000。 DP 狀態與轉移 dp[i][j]:以
C++ 知識回顧(一):註釋、預處理、main 函數、輸入輸出流與轉義字符
經典 Hello World 解剖 // helloworld.cpp #include using namespace std; int main() {
UVA 11549 Calculator Conundrum:Floyd 判圈算法 O(1) 空間求最大值
題目大意 舊式計算器僅顯示前 n 位數字。輸入初值 k,反覆平方,每次只保留前 n 位。序列必進入循環。求序列中出現的**最大值**。 Floyd 判圈(龜兔
HDU 3125 Slash:URL/Unix/Windows 路徑識別與斜槓修正
題目大意 輸入字符串,可能將 / 與 \ 誤輸。判斷其屬於三種類型之一並輸出修正後的標準形式: URL:以 [a-zA-Z]+:// 開頭(/ 可能被誤輸為
UVA 10163 Storage Keepers:雙層 DP 求最大最小安全值及最小花費
題目大意 N 倉庫、M 管理員(N,M ≤ 1000)。管理員 i 能力 P_i(工資同值)。一管理員可管多倉庫,若管 k 倉則每倉安全值 = P_i / k(
UVA 10401 Injured Queen Problem:變體 N 皇后 DP 計數
題目大意 棋盤 n×n(n ≤ 30)。皇后僅攻擊**同列**與**上下相鄰行同列**(即同列、同列相鄰行)。給定長度 n 字符串,字符為 ?(任意行)、數字
LeetCode House Robper II:環狀房屋打劫 DP 空間優化 O(1)
題目大意 環狀排列 n 間房屋,每間有金額 nums[i]。不可連續打劫相鄰房屋(首尾也視為相鄰)。求最大金額。 拆環為鏈 首尾不可同時選 → 分兩種情況取最
UVA 11292 Dragon of Loowater:貪心雙指針最小化騎士花費
題目大意 龍有 n 個頭(直徑 d_i),王國有 m 位騎士(身高 h_j)。騎士身高 ≥ 頭直徑才能砍下該頭,花費 = 身高金幣。每位騎士限用一次。求砍掉所有
C++ 結構體構造函數全解析:默認、重載、初始化列表與全域/區域變量差異
1. 結構體隱式默認構造函數 若未聲明任何構造函數,編譯器生成**無參、函數體為空**的默認構造函數。**不初始化成員**,區域變量值為不可預期(垃圾值),全域
BZOJ 1140 [POI2009] KOD 編碼:DFS 狀態壓縮求合法字符集(可被卡 O(n²))
題目大意 給定一棵**完整二元編碼樹**(每個內部節點恰有兩個兒子,葉子對應字符)。若傳輸時丟失了某字符編碼的**前綴**,只要該字符編碼本身未損壞,後續編碼仍
UVA 11525 排列還原:樹狀數組 + 二分查找第 k 小數
題目大意 給定 k (≤ 50000) 和一個序列 S[1..k],其中 S[i] 表示第 i 個位置的數字在剩餘未用數字中是**第 S[i] 小**(0-in
Apache Commons Collections 核心函數式組件實戰:Predicate、Transformer、Closure、集合運算、特殊隊列與迭代器
一、Predicate(斷言/條件封裝) EqualPredicate:相等判斷 NotNullPredicate:非空判斷 UniquePredicate:
C++ 素數判斷入門:試除法優化至 √n 完整實現
題目要求 1 的正整數,輸出 yes(素數)或 no(合數)。 試除法優化原理 若 n 為合數,至少有一個質因數 ≤ √n。故只需枚舉 2 ~ ⌊√n⌋,若能
FZU 1683 紀念 SlingShot:矩陣快速冪求線性遞推前綴和
題目大意 遞推公式: F(n) = 3F(n-1) + 2F(n-2) + 7F(n-3) (n ≥ 3) 初值:F(0)=1, F(1)=3, F(2)=5