POJ 3107 Godfather:樹的重心多解輸出
題目模型 給定樹,找出所有重心。重心定義:移除該節點後,剩餘各連通塊最大節點數最小。可能有多個重心(相鄰),需全部輸出。 樹形 DP 求重心 sum[u]:
C++ 矩陣運算利器:Eigen 庫入門指南
Eigen 簡介 Eigen 是高性能 C++ 線性代數模板庫,支持向量、矩陣、張量運算,語法優雅接近 MATLAB,開源跨平台,當前穩定版 3.4.x。 核
LeetCode 95 不同二叉搜索樹 II:遞歸構造所有 BST
題目描述 給定 n,生成所有鍵值為 1~n 的結構唯一 BST。n=3 時共 5 棵(卡特蘭數)。 遞歸構造策略 枚舉根節點值 i ∈ [begin, en
C++ 查找字符串首個唯一字符:O(n) 時間 O(1) 空間
問題描述 給定字符串,找出第一個只出現一次的字符。 算法思路 遍歷字符串,統計每個字符的出現次數和首次出現索引 遍歷統計數組,找出 count==1 且 i
HDU 5274 樹鏈剖分入門:路徑異或查詢與點更新
題目模型 樹上操作: 點更新:修改節點值 路徑查詢:u-v 路徑上所有節點值的異或和 樹鏈剖分核心步驟 DFS1 (pre):計算 siz[u](子樹大
LeetCode 91 解碼方法:動態規劃 O(1) 空間解法
題目描述 數字字符串映射:A→1 ... Z→26。給定編碼串,求解碼方法總數。例:12 → AB(1,2) 或 L(12),共 2 種。 狀態轉移分析
LeetCode 64 最小路徑和:動態規劃空間優化技巧
題目描述 m×n 網格,非負整數,從左上到右下(只能向下/向右),求路徑和最小值。 解法一:二維 DP (28ms) 狀態 dp[i][j] 表示到 (i,j
簡單詞法分析器實現:基於 DFA 的單詞識別
設計思路 采用確定有限自動機 (DFA) 識別單詞。核心數據結構: 二維數組 move[state][char_type]:狀態轉移矩陣 一維數組 final
UVALive 4730 Kingdom:並查集 + 線段樹維護動態連通性
題目大意 N 個城市(坐標 0~1e6),M 操作(M<200000): road a b:連接城市 a、b(若未連通) line y:查詢直線 y=C 上有
Java IO 合併流 SequenceInputStream 使用詳解
功能介紹 SequenceInputStream 可將多個輸入流串聯為單一邏輯流,按順序讀取各流數據,常用於文件合併。 核心代碼示例 package test
POJ 3537 Crosses and Crosses:博弈論 SG 函數解析
題目規則 1×n 格子,雙方輪流打叉,先形成 3 個連續叉者勝。判斷先手必勝/必敗。 SG 函數(Grundy 值)計算 狀態拆分:在 i 位置打叉後,會封鎖
LeetCode 77 組合生成:回溯法標準實現
題目描述 給定整數 n 和 k,返回 1...n 中所有 k 個數的組合。例:n=4, k=2 輸出 6 種組合。 遞歸回溯思路 狀態:當前起始數 firs
POJ 2029 柿子樹:二維樹狀數組求矩形區域最大值
題目大意 W×H 的田地裡有 N 棵柿子樹(N<500,W,H<100)。給定莊園尺寸 S×T(不可交換),求能包含最多柿子樹的矩形區域樹數。 核心算法:二維
VS2010 函數級優化:#pragma optimize 實現精準性能調優
場景痛點 專案整體設置 Optimization: Disabled 方便調試,但計算密集型函數性能嚴重不足。專案級/文件級優化開啟效果不明顯。 解決方案:函
MFC 多線程編程要點:AfxBeginThread 正確使用指南
創建工作線程 MFC 中最簡單的多線程方式是 AfxBeginThread: CWinThread* AFXAPI AfxBeginThread( AF