HDU 3518 Boring counting:後綴數組 + 高度數組統計子串出現次數
問題大意 給定字符串 s (長度 n<1000),求有多少不同長度的子串在 s 中出現次數 ≥ 2?輸出滿足條件的長度數。 後綴數組 + LCP (Heigh
POJ 3907 Build Your Home:多邊形面積鞋帶公式
問題 給定多邊形頂點 (按順序),求面積。多測試組,每組首行 n,後 n 行坐標。n=0 結束。 鞋帶公式 面積 = 0.5 × |Σ (x_i*y_{i+1
POJ 3680 Intervals:最大費用流模型選擇不超覆蓋的區間
問題大意 n 個開區間 (a_i, b_i) 及權值 w_i。選擇若干區間,任意點被覆蓋次數 ≤ k,最大化總權值。n≤? 題目中 n 較小?實際 POJ 36
HDU 1242 Rescue:BFS 求迷宮中營救天使的最短時間
HDU 1242 Rescue 解題詳解:多起點 BFS + 守衛代價 在 N×M 迷宮中,尋找從任一夥伴(r) 到天使(a) 的最短時間。移動上下左右各耗 1
LeetCode 147 Insertion Sort List:鏈表插入排序指針操作詳解
問題 對單鏈表進行插入排序,返回排序後頭節點。 算法思路 val` 的節點前),插入。注意斷開 `cur` 與原後續節點的連接,避免環。 關鍵指針操作 `
POJ 3252 Round Numbers:組合數學 + 數位 DP 計算二進制中 0≥1 的數個數
問題 查詢區間 [L,R] 中有多少數的二進制表示中 0 的個數 ≥ 1 的個數。L,R ≤ 2^31-1。 轉化 設 `f(x)` = [1,x] 中滿足條
LeetCode Spiral Matrix:DFS 方向狀態機順時針螺旋輸出
問題 給定 m×n 矩陣,按順時針螺旋順序返回所有元素。 DFS + 訪問標記 + 方向狀態 四方向:右(0,1)、下(1,0)、左(0,-1)、上(-1,0
LeetCode 55 Jump Game:貪心策略判斷能否到達終點
問題 數組每個元素代表最大跳躍步長,從索引 0 開始,判斷能否到達最後一個索引。 貪心核心 維護 `maxReach` = 目前能到達的最遠位置。遍歷 i=0
LeetCode 56 Merge Intervals:排序合併重疊區間
問題 給定區間集合,合併所有重疊區間。例:`[[1,3],[2,6],[8,10],[15,18]] → [[1,6],[8,10],[15,18]]`。 排
UVA 1401 Remember the Word:Trie 字典樹 + DP 計算分詞方案數
問題描述 給 n (≤4000) 個單詞和一長字符串 (長度 ≤300,000),求將長串分解為給定單詞拼接的方案數,模 20071027。 Trie + D
圖的廣度優先遍歷 (BFS) C++ 實現:鄰接鏈表 + 隊列
BFS 核心思想 從起始頂點出發,分層向外擴展:先訪問所有距離 1 的鄰居,再距離 2,以此類推。使用隊列 (FIFO) 保證層序。 鄰接鏈表存儲 stru
ASP.NET FileUpload 控件使用指南
控件簡介 `` 用於網頁上傳文件。配合 `HasFile`、`FileName`、`SaveAs`、`PostedFile` 等屬性方法實現文件接收與存儲。
LeetCode Binary Tree Postorder Traversal:雙狀態棧非遞歸後序
問題 二叉樹後序遍歷 (左-右-根) 非遞歸實現。 狀態標記法 棧存放 `pair`,狀態 1 表示剛進入 (需遍歷左子樹),狀態 2 表示左子樹已遍歷完 (
LeetCode Binary Tree Preorder Traversal:非遞歸棧模擬
問題 給定二叉樹根節點,返回前序遍歷 (根-左-右) 結果。要求非遞歸實現。 棧模擬算法 利用顯式棧保存待訪問節點。前序特點:訪問根後先去左子樹,左子樹耗盡再
POJ 2159 Ancient Cipher:字母頻率統計判斷替換+置換密文
問題大意 給定密文和疑似明文 (同長,大寫字母),判斷密文是否可由明文經「替換密碼」(字母一對一映射) +「置換密碼」(任意排列) 得到。替換+置換組合等價於:
NYOJ Yougth的最大化:分數規劃 + 二分查找 + 貪心選擇
問題描述 n 個物品,重量 Wi、價值 Vi。選 k 個使得總價值/總重量最大。輸出最大單位價值 (保留兩位小數)。n≤10000,Wi,Vi≤1e6。 分數
UVA 1328 Period:KMP 失敗函數判斷字符串前綴周期性
問題描述 給定長度 n 字符串,對每個前綴長度 i (2≤i≤n),判斷該前綴是否由某個子串重複構成 (即周期串)。若是,輸出 i 和最短周期長度 (即 i /
HDU 2159 FATE:二維完全背包 (經驗值與忍耐度雙約束)
問題描述 需 n 經驗值升級,擁有 m 忍耐度,k 種怪物 (無限只),每只給 a 經驗、扣 b 忍耐。最多殺 s 只怪。求升級後剩餘最大忍耐度,不可能輸出 -