LeetCode Longest Valid Parentheses:棧 + DP 雙解法
題目大意 給定只含 ( 和 ) 的字串,求最長合法括號子串長度。合法定義:每個左括號有對應右括號,且巢狀正確。 方法一:棧記錄索引 + 掃描合併 遍歷字串,
HDU 2120 Ice_cream's world I:基礎並查集計算環數
題目大意 給定 N(≤1000)個瞭望塔與 M(≤10000)條圍牆(無向邊),圍牆將土地分割成若干塊。每塊被圍牆包圍的土地只能分給一個 ACMer。求最多能分
LeetCode Combination Sum:回溯法求組合總和
題目大意 給定候選數組 candidates(無重複元素)與目標值 target,找出所有數字和為 target 的組合。每個數字可無限次使用。解集不能包含重複
Android 高效加載大圖片:inSampleSize 縮放與 inJustDecodeBounds 預檢
問題背景 圖片分辨率往往遠超螢幕顯示需求(如相機拍攝 4000×3000,手機螢幕 1080×1920)。直接載入原圖會佔用大量記憶體,導致 OutOfMemo
POJ 1269 Intersecting Lines:直線關係判斷與交點計算
題目大意 給定兩條直線(各由兩點確定),判斷它們的關係:重合(LINE)、平行不重合(NONE)、相交(輸出交點座標,保留兩位小數)。多組測資。 幾何邏輯
BZOJ 2791 Poi2012 Rendezvous:倍增 LCA 處理內向森林
題目大意 給定一棵內向森林(每個節點出度 ≤ 1),多次查詢:給兩點 a, b,求非負整數對 (x, y) 使從 a 走 x 步、從 b 走 y 步到達同一點。
POJ 2718 Smallest Difference:全排列枚舉最小差值
題目大意 給定 2~10 個互不相同的十進制數字(已排序),將它們分成兩組,每組按任意順序組成一個整數(不得有前導零,除非該數為 0),使兩數差的絕對值最小。輸
UVA 10626 Buying Coke:記憶化 DFS 最小投幣數
題目大意 購買 C 瓶可樂,每瓶 8 分。擁有 1 分、5 分、10 分硬幣若干。每次投幣購買一瓶,找零規則:多投金額自動找零(優先找大面額?題目隱含找零最優)
Codeforces 520D / 295 Div1 B Cubes:優先隊列貪心模擬拆除順序
題目大意 二維平面上有 M(≤10⁵)個立方體,座標 (x, y),y ≥ 0。立方體穩定條件:y = 0 或下方三個位置 (x-1, y-1), (x, y-
HDU 3127:完全背包變形——二維費用與旋轉優化
題目大意 有 n 種磚塊,每種有長 aᵢ、寬 bᵢ、價值 cᵢ。給定大矩形 X × Y,磚塊可旋轉 90°,無限供應。求填滿大矩形的最大價值(允許不完全填滿,但
HDU 3974:樹映射到區間 + 線段樹區間更新/單點查詢
題目大意 給一棵有根樹,支援兩種操作: C x:查詢節點 x 的值。 U x y:將以 x 為根的子樹所有節點值設為 y。 初始值為 -1。多組測資。 解題思
UVA 757 Gone Fishing:貪心 + 模擬最大化捕魚量
題目大意 John 有 h 小時(換算為 5 分鐘間隔數)去釣魚,n(≤25)個魚塘沿單向路排列。每塘初始產量 fᵢ,每 5 分鐘遞減 dᵢ。移動到下一塘需 t
C++ Primer 學習總結(一):變量與基本類型
核心筆記 1. C++98 與 C++11 中 printf 格式差異 %lf 在 C++98 表示 double,C++11 表示 long double
HDU 4296 Buildings:貪心排序最小化最大潛在損害值
題目大意 有 N(≤10⁵)塊樓板,每塊有重量 wᵢ 與強度 sᵢ。堆疊後,第 i 塊的潛在損害值 PDVᵢ = (上方樓板重量和) - sᵢ。求最小化整棟建築
UVA 11258 String Partition:線性 DP 最大化分割和
題目大意 給一個數位字串(長度 ≤200),需將其分割成若干個不含前導零(單個 0 除外)的 32 位有號整數(≤ INT_MAX),使分割後數字之和最大。輸出
POJ 3164 Command Network:朱劉算法求最小樹形圖
題目大意 給定 N(≤100)個節點座標與 M(≤10⁴)條可建立的有向邊,邊權為歐氏距離。節點 1 為根,求從根可達所有節點的最小樹形圖(有向最小生成樹)總權
HDU 5154 Harry and Magical Computer:拓撲排序判環
題目大意 給定 n(≤100)個進程與 m(≤10000)條依賴關係(a, b 表示 b 必須在 a 之前完成),判斷是否能完成所有進程(即有向圖是否為 DAG