POJ 2778 DNA Sequences:AC 自動機 + 矩陣快速冪
題目描述 DNA 序列由 {A,C,T,G} 組成。給定 m (≤10) 個禁止模式串(長度 ≤10),求長度為 n (≤2e9) 的合法序列數(不含任何禁止串
CSU 1604 SunnyPig:豬穴逃脫 BFS - 單向門與邊界判定
題目描述 m×n 網格豬穴,牆壁用 | - 表示,門用 N/S/W/E 表示(只能從特定方向推開)。起點 O,求推開最少門數逃出邊界,不可則 -1。 關鍵建模
POJ 2251 Dungeon Master 另一種 BFS 實現:隊列數組手寫版
題目同 4271,此處提供另一種手寫循環隊列實現 使用靜態數組模擬隊列,避免 STL queue 開銷,邏輯完全相同。 關鍵代碼片段 struct Node
POJ 2251 Dungeon Master:三維迷宮 BFS 逃脫
題目描述 三維地牢 L×R×C(≤30),S 起點,E 終點,# 岩石,. 空地。六個方向移動,每步 1 分鐘。求最短逃脫時間或 Trapped!。 解題思路
POJ 3126 Prime Path:四位素數圖上的 BFS 最短路徑
題目描述 給定兩個四位素數 start、target。每步可修改一位數字(千位不能為 0),且修改後必須仍為素數。求最少步數,或輸出 Impossible。
C++ 求數組最大值與最小值的最優比較次數算法(3n/2 次比較)
問題 在無序數組中同時找出最大值和最小值,最少需要多少次比較? 算法原理:成對比較法 將數組元素兩兩分組,每組先內部比較一次(1 次),得到組內較大者和較小者
POJ 3087 Shuffle'm Up:洗牌模擬與循環檢測
題目描述 兩疊各 C 張籌碼 S1、S2(底部到頂部給出)。洗牌規則:從底部開始交錯合併,先取 S2 底,再 S1 底,依此類推,形成 S12(2C 張)。然後
C++14 實現 LINQ 風格查詢:範圍適配器與管道操作符
背景 C# LINQ 提供了優雅的鏈式查詢語法。C++14 通過模板、類型推導、運算符重載可實現類似風格,如 to_vector()。 核心組件設計 1.
LeetCode 67. Add Binary:二進制字符串相加模擬
題目描述 給定兩個二進制字符串 a、b,返回它們的和(二進制字符串)。例如 11 + 1 = 100。 解題思路:雙指針從右向左模擬加法 初始化進位 car
POJ 1286 Necklace of Beads:Polya 計數定理應用
題目描述 用紅、藍、綠三種顏色給 n (< 24) 個珠子組成的項鏈著色。旋轉或翻轉後相同視為同一種。求本質不同著色方案數。 Polya 定理公式 設群 G
HDU 5214 Movie:區間選擇貪心 + 位運算技巧
題目大意 生成 n 個隨機區間 [L_i, R_i](L_i ≤ R_i),詢問是否能選出三個兩兩不相交的區間。數據由遞推公式生成,需 O(n) 解決。 核心
POJ 1088 滑雪:記憶化 DFS 求最長下降路徑
題目描述 給定 R x C 網格高度圖,從任意格子出發,只能向上下左右移動到嚴格更低的格子。求最長滑雪路徑長度(格子數)。 解題思路:記憶化深度優先搜索 定義
POJ 2418 Hardwood Species:字典樹統計樹種占比
題目描述 輸入最多 1,000,000 行樹種名稱(每行一個,長度 ≤ 30,含大小寫字母、空格等任意字符),輸出每個樹種名稱及其佔總數百分比(保留 4 位小數
BZOJ 1146 [CTSC2008] 網絡管理:樹上帶修改 K 大查詢 - 兩種經典解法對比
題目大意 給定一棵樹,每個節點有權值。支持兩種操作: 修改某節點權值。 查詢路徑 u-v 上第 k 大權值。 節點數 N ≤ 80000,操作數 Q ≤ 8
牛客劍指 Offer:數組中出現次數超過一半的數字(眾數問題)
題目描述 數組中有一個數字出現次數超過數組長度一半,找出這個數字。例如 {1,2,3,2,2,2,5,4,2} 輸出 2。 解法一:摩爾投票法(Boyer-M
LeetCode 39. Combination Sum:回溯算法詳解與 C++ 實現
題目描述 給定無重複元素的正整數數組 candidates 和目標值 target,找出所有組合使元素和等于 target。candidates 中的數字可無限
牛客劍指 Offer:數組連續子向量最大和(最大子數組和)
題目描述 給定整型數組(含正負數),求連續子數組的最大和。例如 {6, -3, -2, 7, -15, 1, 2, 2} 最大和為 8(前 4 個元素)。 經
CSU 1600 Twenty:24 點遊戲 DFS 暴力搜索解法
題目描述 給定 4 個整數(1~13),判斷能否通過加減乘除運算(每個數恰好用一次)得到 24。多組測試用例,輸出 Yes 或 No。 解題思路:全排列 +