HDOJ 5067 Harry And Dig Machine:狀壓 DP 解決多點最短路徑
問題大意 n×m 網格(≤50×50),≤10 個格子有石頭。哈利從 (0,0) 出發,需收集所有石頭並帶回 (0,0)。移動到相鄰格耗時 1,裝卸石頭不耗時。
HDU 5074 Hatsune Miku:DP 求最大美感值
題目大意 有 m 種音符,需譜寫長度為 n 的樂曲。某些位置固定音符,其余可自由選擇。相鄰音符 (a,b) 有美感分 score(a,b)。求最大總美感。 D
設計模式學習:三大工廠模式深度解析(簡單工廠、工廠方法、抽象工廠)
引言:從故事理解演進 老板買手機 → 秘書代買(簡單工廠) → 秘書分配下屬買(工廠方法) → 手機出系列產品,秘書按品牌分組採購(抽象工廠)。 1. 簡單工
HDU 5078 Osu!:最大跳躍難度計算
題目大意 Osu! 遊戲中,N 個點依次出現,點 i 在時間 t_i 位置 (x_i, y_i)。跳躍難度 = 相鄰兩點距離 / 時間差。求整場遊戲的最大難度。
LeetCode Spiral Matrix:螺旋矩陣遍歷邊界收縮法
問題描述 給定 m×n 矩陣,按螺旋順序(右→下→左→上)返回所有元素。例:[[1,2,3],[4,5,6],[7,8,9]] → [1,2,3,6,9,8,7
C++ 位運算應用:創建 GUID 與 RGB 顏色合成分解
位運算基礎回顧 | (或):對應位有 1 則為 1,可視為取最大值操作 & (與):對應位全 1 則為 1,可視為取最小值/掩碼操作 (右移):二進制右移
HDU 5077 NAND:狀態壓縮 BFS 打表求最小操作步數
題目大意 給定按位 NAND 運算:NAND(a,b) = 255 ^ (a & b)。初始可用數 {15, 51, 85, 0, 255}。每步可選兩個已有數
數字拆分為 2 的冪之和:遞歸枚舉所有分解方式
問題描述 任意正整數可分解為 2 的冪之和(允許重複)。如 7 有 6 種分解。求 f(n) = 分解總數。 解題思路 預處理分配表:將 n 遞歸拆分為 2
POJ 1093 Formatting Text:DP 文本兩端對齊最小壞值
題目大意 將短文格式化為每行長度 n (1 < n ≤ 80) 的兩端對齊。壞值 = 每個空隙 (空格數-1)² 之和。求總壞值最小的排版,輸出具體排版(字典序
將數字串轉換為 2012 瑪雅密碼:遞歸生成所有排列並計算最小交換次數
問題描述 給定由 0,1,2 組成的字符串,僅允許相鄰字符交換。求最少交換次數使字符串包含子序列 2012(即三進制數值含 59),並輸出結果字符串。 解法思
LeetCode Maximum Subarray:Kadane 算法 O(n) 解法
題目大意 給定整數數組,找到和最大的連續子數組(至少一個元素),返回最大和。例如 [-2,1,-3,4,-1,2,1,-5,4] → [4,-1,2,1] 和為
HDU 5071 Chat:數組模擬實現聊天窗口管理
題目大意 同 207405:模擬聊天窗口隊列,支持 Add/Close/Chat/Rotate/Prior/Choose/Top/Untop 8 種操作,最終按
POJ 2096 Collecting Bugs:概率 DP 期望第二種寫法
題目大意 同 207399:s 子系統,n 類 bug,每天隨機發現一個 (子系統, 類別) 對。求期望天數直到每個子系統和每類 bug 至少出現一次。 狀態
HDU 5073 Galaxy:數學期望與前綴和優化 DP
題目大意 數軸上 n 個點,每點權重 1。可移動 k 個點到任意位置。最小化 Σ d_i²,其中 d_i 為第 i 點到重心的距離。n ≤ 50000。 數學
POJ 1129 Channel Allocation:圖著色 DFS 暴力求解
題目大意 給定最多 26 個中繼站(A-Z),及其鄰接關係。相鄰站點不能使用同一頻道。求最少頻道數。平面圖無邊交叉(四色定理保證 ≤ 4)。 解題思路 數據極
POJ 3253 Fence Repair:哈夫曼樹優先隊列經典實現
題目大意 農夫約翰需將長木板鋸成 N 塊指定長度。每次鋸切花費等於當前木板長度。求最小總花費。N ≤ 20,000,長度 ≤ 50,000。 解題思路 經典哈
LeetCode Anagrams:字母異位詞分組哈希解法
題目大意 給定字符串數組,返回所有字母異位詞分組(即由相同字母重新排列形成的單詞)。所有輸入小寫字母。 解法思路 字母異位詞排序後相同。用 map 記錄「排序