POJ 3669 Meteor Shower:BFS + 預處理最早到達時間
POJ 3669 Meteor Shower 題目大意 流星在某些時間點落在網格點及其四鄰域,該點及鄰域從該時刻起永久不可通行。從 (0,0) 起步,求最早到達
LeetCode 41 First Missing Positive:原地哈希 O(n) 時間
LeetCode 41 First Missing Positive 題目描述 給定未排序整數數組,找出缺失的最小正整數。要求 O(n) 時間,O(1) 空間。
LeetCode 42 Trapping Rain Water:雙指針 O(1) 空間解法
LeetCode 42 Trapping Rain Water 題目描述 給定非負整數數組表示高度圖,每寬度為 1,計算下雨後能接多少雨水。 雙指針解法 =r。
LeetCode 187 Repeated DNA Sequences:位掩碼哈希優化空間
LeetCode 187 Repeated DNA Sequences 題目描述 DNA 序列由 A,C,G,T 組成。找出所有長度為 10 的重複子串。輸入長
《C++設計新思維》第5章讀後感:泛化仿函數與 std::function 實現
《C++設計新思維》第5章讀後感 核心內容 本章探討如何在 C++98 標準下實現類似 C++11 `std::function` 的功能:統一封裝各種可調用實
NaN-boxing 技術介紹:用雙精度浮點數表示多類型值
NaN-boxing 技術介紹 什麼是 NaN-boxing 利用 IEEE 754 雙精度浮點數中 NaN 的編碼空間(符號位 1 + 指數位全 1 = 12
C++ 字符串交叉插入實現:排序與合併兩種方法
C++ 程序設計實踐 1.14 字符串交叉插入 題目要求 給定兩字符串 str1、str2,將 str2 字符按順序插入 str1 字符之間,或將 str1 按
C 語言 Win32 API 實現定時關機界面(無 MFC)
C 語言 Win32 API 實現定時關機界面 背景 不使用 MFC,直接調用 Windows API 創建窗口、編輯框、按鈕,實現定時關機與取消功能。作為備忘
Codevs 1789 最大獲利:最大權閉合子圖與最小割
Codevs 1789 最大獲利 (2006 NOI) 問題建模 有 m 個用戶群(收益 c_i),n 個中轉站(成本 p_i)。選用戶群必須選對應的兩個中轉站
LeetCode Unique Paths:動態規劃與組合數學兩種解法
LeetCode Unique Paths 題目描述 機器人從左上角 (0,0) 走到右下角 (m-1,n-1),只能向右或向下移動。求不同路徑數。 解法一:動
HDU FatMouse's Speed:雙關鍵字排序求最長下降子序列
HDU FatMouses Speed (Step 3.2.4) 題目大意 給定若干老鼠的體重和速度,選最長序列使體重嚴格遞增、速度嚴格遞減。輸出長度及原始索引
LeetCode 110 Balanced Binary Tree:判斷二叉樹是否平衡
LeetCode 110 Balanced Binary Tree 題目描述 給定一棵二叉樹,判斷其是否為高度平衡:任意節點的左右子樹高度差不超過 1。 解法:
LeetCode Word Break I & II:動態規劃與 DFS 拆分字符串
LeetCode Word Break 系列題解 Word Break I:判斷能否拆分 dp[i] 表示前 i 字符能否拆分。dp[0]=true。對於每個
二叉搜索樹基本算法詳解:三種查找實現與插入刪除
二叉搜索樹基本算法詳解 二叉搜索樹性質 左子樹所有鍵值 < 根節點鍵值 根節點鍵值 左右子樹均為二叉搜索樹 節點定義與輔助方法 public class
Codeforces Round #290 Div.2 D:Fox And Jumping 最大公約數 DP
Codeforces 513D Fox And Jumping 題意 有 n 張卡片,每張有跳躍長度 l_i 和花費 c_i。購買卡片後可按該長度正負跳躍。求最
HDU 1284 錢幣兌換問題:完全背包求方案數
HDU 1284 錢幣兌換問題 題目描述 只有 1分、2分、3分硬幣,將 N 分兌換成硬幣,求兌換方案總數。N < 32768,多組輸入。 動態規劃解法 完全背
HDU 5172 RMQ:線段樹維護前驅最大值判斷排列
HDU 5172 RMQ 題意 給定數組 a[n] (1≤a[i]≤n),可能有重複。m 次查詢 [l,r],判斷該區間是否為 1 到 r-l+1 的一個排列。