HDU 1505 City Game:01 矩陣最大全 1 子矩陣 (直方圖 + 單調棧 O(nm))
問題 M×N 矩陣 (M,N≤1000),F 為空地,R 為障礙。求最大全 F 子矩陣面積,租金 = 面積 × 3。 經典轉化:逐行構建直方圖高度 對每行 i
URAL 1707 Hypnotoad's Secret:線段樹 + 離線座標壓縮 + 矩形查詢 (星星與矩形)
問題 N 星星 (由生成公式給出),M 組矩形查詢 (每組 q 個矩形)。判斷每個矩形是否包含星星。q≥20 時需按公式計算加權和模 200904040963。
設計模式:Composite 組合模式 (透明 vs 安全、部分-整體樹結構、Java 完整實現)
模式定義 將對象組合成樹形結構以表示「部分-整體」層次。讓客戶端**統一對待**單個對象 (葉子) 和組合對象 (容器)。 UML 角色 Compone
URAL 1542 Autocompletion:字典樹 (Trie) 離線構建 + 前 10 高頻前綴匹配
問題 給 ≤1e5 個單詞及頻率,再 ≤1.5e4 個查詢前綴。每查詢輸出以該前綴開頭的**最高頻前 10 個**單詞 (頻率降序,字典序升序破平局)。 離線
UVA 10910 Marks Distribution:組合數學 (插板法) 與 DP 遞推雙解法
問題 N 門課,總分 T,每門最低 P 分 (P≤T/N)。求分數分配方案數。N,T,P ≤ 70,答案符合 32 位有符號整數。 轉化:放球入盒 每門先給
C/C++ 內存分配管理全景圖:棧/堆/全局/常量/代碼區、malloc/new 差異、面試必考點
程序內存五大區域 區域內容管理方式生命週期 棧函數參數、局部變量、返回地址、寄存器保存編譯器自動分配/釋放函數調用期間 堆malloc/new 申請的動態內
Codeforces 85D Sum of Medians:線段樹維護模 5 余數和 (右移標記 + 單點更新)
問題 動態集合支持: add x、del x、sum (輸出排序後下標 ≡ 3 (mod 5) 的元素和)。n ≤ 1e5。 核心思想:線段樹節點存 5 個和
ZOJ 3826 Hierarchical Notation:EON 文本解析與查詢模擬 (哈希 + 樹構建 + 子串輸出)
問題 解析類 JSON 的 EON 格式: {key:value, key2:{nested:obj}} 支持巢狀查詢:key、key2.nested。輸出對應
HDU 4405 Aeroplane Chess:概率 DP 求期望擲骰次數 (逆向遞推 + 飛行通道處理)
問題 棋盤 0..N (N≤1e5),從 0 起。每回合擲骰 (1~6 均勻),前進 x 格。達到 ≥N 結束。有 M (≤1000) 個單向飛行通道 X_i
BZOJ 2734 [HNOI2012] 集合選數:狀壓 DP + 矩陣分組 (互質分解 + 乘法原理)
問題 集合 S={1,2,...,n}。選子集,要求任意兩數 x,y 滿足 x≠2y 且 x≠3y。求合法子集數模 1e9+1。 核心洞察:按「與 6 互質」
HDU 4628 Pieces:狀壓 DP 枚舉回文子集 + 分層 BFS 求最少步數
問題 字符串長度 ≤ 16。每步可刪除一個**回文子序列** (不要求連續)。求刪空整個串的最少步數。 狀壓 DP 思路 狀態 mask (0~2^n-1)
HDU 4027 Can you answer these queries?:線段樹區間開方 + 標記剪枝 (覆蓋標記)
問題 序列長度 n ≤ 10^5,兩種操作: 0 a b:區間 [a,b] 每個數開平方 (取整) 1 a b:查詢區間和 數據保證總和 < 2^63。 關鍵
POJ 3602 Typographical Ligatures:字符計數與連字處理
題目大意 輸入一段文本,統計不同字符種類數。特殊連字視為單一字符:ff, fi, fl, ffi, ffl, ``, 。每種連字只計一次,普通字符出現即計一次。
LeetCode 59. Spiral Matrix II:按層螺旋填充矩陣 (邊界收縮法)
題目 給定正整數 n,生成 n×n 矩陣,元素 1 到 n² 按順時針螺旋順序填充。例 n=3: [[1,2,3],[8,9,4],[7,6,5]] 邊界收縮
HDU 1427 速算 24 點:DFS 暴搜 + 一層括號枚舉 + 整數運算剪枝
題目 給 4 張撲克牌 (A=1, 2-10, J=11, Q=12, K=13),可用 + - * / 及括號,運算過程中**不允許出現小數** (即除法必須
UVA 10972 RevolC FaeLoN:雙連通分量 + 孤立點處理 (縮點 + 度數統計)
問題描述 給定無向圖 (可能不連通,含孤立點),求最少添加多少條邊使圖變為 雙邊連通 (即無橋,任意兩點間至少有兩條不相交路徑)。 核心思路:Tarjan 找
LeetCode 58. Length of Last Word:單次掃描 O(1) 空間解法
題目 給定字符串 s (僅含字母和空格),返回最後一個單詞的長度。不存在則返回 0。單詞定義為連續非空格字符。 最優解法:尾部向前掃描 從字符串末尾跳過尾隨空
BestCoder Round #13 題解:回文數計數與序列操作離線逆推
Problem A: Beautiful Palindrome Number 題意 「美麗回文數」定義:十進制表示為 a1 a2 ... ak ak ... a