CF 196 Div 2 D:樹形 DP 求可能藏書位置
題目大意 樹上 n 個節點,m 個已知受影響節點,傷害範圍 d。書可能在某節點,若該節點到所有受影響節點的距離均 ≤ d。求可能節點數。 解法:樹形 DP 維
UVA 1223:後綴數組求最長重複子串長度
題目大意 給定字串 S(長度 ≤ 5000),求最長子串長度,使其在 S 中至少出現兩次(允許重疊)。 解法 構建後綴數組與高度數組,答案即為 Height
HDU 5379 Mahjong Tree:樹形構造計數
題目大意 給定一棵 n 個節點的樹(根為 1),需將 1~n 的標號分配給節點,滿足:(1) 每個節點的所有子節點標號連續;(2) 任意子樹的標號連續。求方案數
UVA 760 DNA Sequencing:後綴數組求最長公共子串
題目大意 給兩個 DNA 字串(僅含 a, t, c, g),求最長公共子串,若有多個相同長度則按字典序輸出。字串長度 ≤ 300。 解法:後綴數組 + 高度
Codeforces Round #186 (Div. 2) 題解合集 (A-E)
A. Ilya and Bank Account 給定整數 n(可為負),可刪除最後一位或倒數第二位數字(或不刪),求最大結果。正數直接輸出;負數比較刪除最後一
HDU 5375 Gray Code:動態規劃求最大得分
題目大意 給定長度 n 的二進制串(含 0, 1, ?),? 可替換為 0 或 1。轉換為格雷碼後,第 i 位為 1 可得 a_i 分。求最大得分。n ≤ 20
POJ 1321 棋盤問題:DFS 另一種實現細節
題目同 3343,此處提供另一種 DFS 寫法與細節註釋 關鍵在於「行變換」而非方向陣列。對每一行,嘗試放置或不放置;列用 vis[] 記錄。注意遞歸順序與剪枝
Codeforces 570B Simple Game:最優策略分析
題目大意 Misha 選擇數字 m,Andrew 選擇 a(1 ≤ a ≤ n)。隨機生成 c ∈ [1, n],距離 c 較近者獲勝;距離相等 Misha 勝
HDU 5373 The shortest problem:模擬與數學(11 的倍數判定)
題目大意 給定整數 n,重複 t 次操作:計算 n 的各位數字和,將其拼接到 n 末尾形成新數。問最終數是否能被 11 整除。n ≤ 10^4, t ≤ 10^
POJ 1321 棋盤問題:DFS 搜索解法
題目大意 在一個 n×n 的不規則棋盤上(# 為可放區域,. 為空白),放置 k 個無差別棋子,要求任意兩子不同行、不同列。求擺放方案數 C(n ≤ 8, k
HDU 4687 Boke and Tsukkomi:一般圖最大匹配(帶花樹算法)
題目背景 比賽時誤以為是二分圖匹配,實際存在奇數環(如 1→2, 2→3, 3→1),必須使用一般圖最大匹配——帶花樹算法。 算法關鍵點 使用 BFS 尋找
BZOJ 2302 HAOI2011 Problem C 動態規劃解法詳解
題目大意 給定 n 個人和 n 個位置,要求生成一個序列 a_i,第 1...n 個人依次走到第 a_1...a_n 個位置。若該位置已被佔據,則順延至下一個空
EasyUI + Spring + MyBatis 後台管理系統完整範例:軟體部署模組
專案架構 前端:EasyUI (jQuery UI 框架),DataGrid 分頁、對話框編輯 後端:Spring MVC + MyBatis,RESTful
C++ 靜態多態與動態多態深度解析:編譯期 vs 執行期綁定
核心區別 維度動態多態 (Runtime Polymorphism)靜態多態 (Compile-time Polymorphism) 實現機制虛函數表 (vt
ZOJ 2059 The Twin Towers:雙塔等高問題的動態規劃解法
題目大意 給 N (≤100) 塊晶體,高度為正整數,總高度 < 2000。 將晶體分成兩堆,使兩堆高度相等且盡可能高。 輸出最大等高高度,若不可能輸出 Sor
HDU 2651 Spring festival couplets:對聯配對計數與模式匹配
題目大意 給定 n (≤110,000) 條春聯,每條由大寫字母組成,長度 ≤8。 兩條春聯可配對,若它們的「字符模式」相同。 模式定義:將字串中每個字符替換為
HDU 3063 Play Game 題解:大整數模運算與數學公式推導 O(|n|) 解法
題目大意 n 個小孩排成隊,編號 1..n。第 i 個小孩手持數字 i(i+1)(i+2)。第 k 個小孩需報出前 k 個數字之和。求第 n 個小孩報出的數值模