HDOJ 1159 Common Subsequence:最長公共子序列(LCS)經典解法
問題描述 給定兩個字符串 X 和 Y,求它們最長公共子序列(LCS)的長度。子序列不要求連續,只需順序一致。輸入包含多組測試數據,每行兩個字符串,以 EOF 結
HDU 1712 ACboy needs your help:分組背包問題詳解
問題描述 有 n 門課程,m 天時間。第 i 門課第 j 天花費可獲得價值 A[i][j]。每門課程必須選擇恰好一天進行(或視為分組背包:每組選一項)。求最大總
POJ 2431 Expedition:最少加油次數(優先隊列貪心)
問題背景 卡車距離城鎮 L 單位,初始燃料 P。沿途有 N 個加油站,每個站點距離城鎮 di、提供燃料 fi。油箱無容量上限,但每行駛一單位距離消耗一單位燃料。
Codeforces 509D:Restoring Numbers 解題詳解(構造與數學)
問題描述 Vasya 有兩個非負整數陣列 a(長度 n)和 b(長度 m)。他選擇一個正整數 k,並根據公式 vi,j = (ai + bj) mod k 建立
選擇排序穩定性分析:數組交換 vs 鏈表插入的 C++ 實現對比
選擇排序基本思想 每輪從未排序部分選出最小元素,放到已排序部分末尾。標準實現通過交換當前位置與最小元素位置。 穩定性討論 數組 + 交換 (O(1) 空間)
LeetCode Valid Sudoku:位運算高效判斷數獨合法性
問題描述 判斷 9×9 數獨盤面是否合法:每行、每列、每個 3×3 宮內數字 1~9 不重複。空格為 .。只需驗證已填數字,不要求可解。 位運算技巧 用 9
MFC 對話框阻止 Enter/ESC 鍵關閉視窗:PreTranslateMessage 過濾按鍵訊息
問題原因 MFC 對話框預設:Enter 鍵觸發預設按鈕 (IDOK) → 呼叫 `OnOK()` 關閉對話框;ESC 鍵觸發取消按鈕 (IDCANCEL) →
TinyXML 直接解析 XML 字符串:Parse 方法使用範例
背景 TinyXML 常用 `LoadFile` 讀取檔案,實際也支援直接解析記憶體中的 XML 字符串,避免臨時檔案 I/O。 關鍵代碼 #include
VS2010 LNK1123 錯誤解決:COFF 轉換失敗的四種修復方案
錯誤現象 安裝 VS2012 後,VS2010 專案鏈接失敗:`fatal error LNK1123: 轉換到 COFF 期間失敗: 文件無效或損壞`。原因是
C 語言實驗:隨機算術題生成與限時答題程式
程式功能 生成 1~3 個運算符的隨機算術表達式 (含加減乘除、階乘),要求使用者在 120 秒內輸入答案,判斷正誤並顯示用時。展示了 C 語言 `rand()
C++ 迭代器二分查找:標準庫 lower_bound 與手寫模板實現
標準庫算法 C++ `` 提供 `lower_bound`, `upper_bound`, `binary_search`, `equal_range`,均接受
POJ 3695 Rectangles:容斥原理 + DFS 預處理 100,000 次查詢
問題大意 給定 n≤20 個矩形,m≤100,000 次查詢。每次查詢給出一組矩形編號,求這些矩形並集面積。直接對每個查詢做掃描線或線段樹過慢。 核心思路:離
LeetCode Combination Sum:回溯搜尋找出所有和為目標值的組合
問題描述 給定無重複元素的正整數數組 candidates 和目標值 target,找出 candidates 中所有和為 target 的組合。每個數字可無限
HDU 1754 I Hate It:線段樹單點更新區間最大值查詢
問題描述 N 個學生 (≤200,000),M 次操作 (≤5000)。操作:Q A B 查詢區間 [A,B] 最大成績;U A B 將學生 A 成績改為 B。
HDOJ 1348 Wall:凸包周長 + 圓周展開計算最短圍牆長度
問題轉化 城堡為多邊形,圍牆需距離城堡至少 L 單位。最短圍牆即為城堡凸包向外擴展 L 距離後的周長。由幾何知識,凸包向外平移 L 後,邊長不變,頂點處形成圓弧
HDU 3502:BFS + 狀態壓縮 DP 解決能量收集最大值
問題大意 N×M 網格,每格有能量值 (≥0) 或障礙 (-1)。從左上角 (1,1) 走到右下角 (N,M),每步消耗 1 能量,經過格子獲得其能量。求到達終
Sicily 14256 Pseudo Semiprime:質因數分解與互質判定
定義 1 使得 a×b=x 且 gcd(a,b)=1。即 x 可分解為兩個大於 1 的互質因子。 觀察與算法 若 x 為質數或質數冪 (p^k),則無法分解