Eclipse 配置 GTK+ 開發環境完整指南
前置條件 已安裝 Eclipse + CDT 插件(C/C++ 支援)。 已安裝 GTK+ 開發套件(含頭文件、庫、pkg-config)。 本文以 Wind
HDU 4252 A Famous City:天際線照片最少建築物數(單調棧)
題目大意 將照片切成 n 垂直條,每條給出最高建築物高度(0 表示無建築)。建築物為矩形,底邊在水平線上,可跨越多條連續條帶,但每條帶中只能看到一棟建築(最高者
C++ 憤恨者札記 1:類對象作為函數參數的數據傳遞全過程(匯編視角)
實驗環境 編譯器:MSVC 15.00.30729.01 (VS 2008) 除錯器:WinDbg 6.11 架構:x86 (32-bit) 測試類別 c
HDU 2874 Connections between cities:Tarjan 離線 LCA 處理森林距離查詢
問題描述 n 個節點、m 條邊構成森林(無向、帶權)。 q 次查詢(q ≤ 10⁶),每次詢問兩節點間最短距離。 若不連通輸出 `Not connected`
POJ 2452 Sticks Problem:RMQ + 二分求最長合法區間
題目重述 給定長度 n 的排列(元素互不相同),找 i < j 使得區間 [i, j] 內所有元素值均在 [arr[i], arr[j]] 之間(即 min =
UVa 565 - Pizza Anyone?:暴力枚舉 16 種配料滿足所有朋友
題目轉化 16 種配料(A-P),每種要么放要么不放 → 2¹⁶ = 65536 種組合。 每位朋友給一組條件,如 `+O-H+P;` 表示:要 O、或 不要
ZOJ 3462 Nobita's New Filesystem:bitset + map 高效模擬
問題重述 n 個資料夾,每個有一組 tag(如 `[comic][naruto][01]`)與大小 size。 m 個查詢,每個給一組 tag,求同時包含所有
C++ 類設計不可偷懶的三大核心:建構、複製、銷毀
1. 建構函式:物件出生的嚴格契約 預設建構子:無參數或全有預設值。務必提供,否則含有該類型成員的類別將無法預設建構。 explicit:單參數建構子預設加
HDOJ 2955 Robberies:0/1 背包的概率轉化技巧
題目大意 有 n 家銀行,第 i 家金額 b[i],被抓機率 p[i]。小偷想選一批銀行搶劫,使總逃脫機率 ≥ 給定閾值 (1 - rate),且總金額最大。輸
HDU 1507 Uncle Tom's Inherited Land:黑白棋盤最大匹配
題目轉化 N×M 棋盤,部份格子被封鎖(黑色),欲放置最多 1×2 多米諾骨牌(覆蓋兩相鄰格子)。將棋盤視為二分圖:(i+j) % 2 == 1 為左部(黑),
POJ 3164 Command Network:朱劉算法求最小樹形圖
問題描述 給定 n 個節點(節點 1 為根)與 m 條有向邊,每條邊權重為兩節點歐氏距離。求以 1 為根的最小樹形圖(Directed Minimum Span
HDU 4251 The Famous ICPC Team Again:劃分樹求區間中位數
問題轉化 給定長度 n 的序列,多次查詢區間 [a, b] 的中位數(即第 k = (a+b)/2 - a + 1 小值)。經典解法為劃分樹(Partition
POJ 1598 Excuses, Excuses!:關鍵字計數找出最爛藉口
題目大意 給定 K 個關鍵字(全小寫)與 E 句藉口(含大小寫、標點、數字),找出包含關鍵字次數最多的藉口。關鍵字匹配不分大小寫,且必須為完整單字(由非字母或行
POJ 1125 Stockbroker Grapevine:弗洛伊德演算法解最短路徑傳播問題
題目背景與核心任務 經紀人之間透過「信任來源」傳遞謠言,每條連線都有特定傳遞時間。我們需要選出一個最佳起始經紀人,使得謠言傳遍整個社群所需時間最短(即最後一位收
POJ 1405 遺產分配:埃及分數分解與大整數運算
問題描述 將遺產按 1/x1, 1/x2, ..., 1/xn 分配給 n (≤ 18) 位親戚,要求 x1 < x2 < ... < xn 0 且最小。輸出分
HDU 1166 敵兵布陣:線段樹區間查詢與單點更新
問題描述 有 N (≤ 50000) 個營地,每營初始士兵數已知。支持三種操作: Add i v:第 i 營增加 v 名士兵。 Sub i v:第 i 營減少