HDU 5274 Dylans loves tree:LCA + 線段樹維護路徑異或值
問題建模 給定一棵樹,每個節點有值 A[i]。支持兩種操作: 1. 0 x y:將節點 x 的值改為 y。 2. 1 x y:查詢路徑 x→y 上所有值的出現次
C++ 內置類型與用戶類型雙向轉換:轉換構造函數與類型轉換運算符深度解析
兩種轉換方向 內置 → 用戶類型:依靠轉換構造函數(單參數構造函數)。 用戶類型 → 內置/其他類型:依靠類型轉換運算符(operator Type())。
C++ 字符串首個不重複字符:O(n) 時間 O(1) 空間的最優解法
問題描述 給定字符串,找出第一個只出現一次的字符。例如 1222345678234543 → 1(索引 0)。 核心思路:計數 + 索引記錄 利用固定大小數組
基於模板的 C++ 單鏈表完整實現:增刪查改、倒數第 K 個節點三種解法
節點與鏈表類模板設計 template class ListNode { friend class List; T data; L
C++ 模板完全指南:從函數模板到類模板的泛型編程精髓
為什麼需要模板? 重載函數雖能處理多類型,但每增加一種類型就要寫一個版本,且無法覆蓋未預料的類型(如用戶自定義類)。模板實現「類型參數化」,一份代碼服務所有符合
LeetCode 95 不同的二叉搜索樹 II:遞歸構造所有合法 BST 完整解析
問題重述 給定整數 n,生成所有鍵值為 1..n 且結構不同的二叉搜索樹,返回根節點列表。例如 n=3 有 5 棵樹(卡特蘭數)。 遞歸核心思想 對於區間 [
C++ 不用判斷語句求兩數最大值:位運算與數學技巧大揭秘
方法一:利用絕對值性質 對任意整數 a, b,恒有: max(a,b) = (a + b + |a - b|) / 2 原理:a + b + |a-b| 等於兩
Eigen 庫入門指南:C++ 高性能矩陣運算的最佳選擇
為什麼選擇 Eigen? Eigen 是一個純頭文件、無依賴的 C++ 模板庫,提供矩陣、向量、張量運算及線性代數分解(LU、QR、SVD 等)。它表達式模板機
C++ 單鏈表從零手寫:節點創建、遍歷與基礎操作完整教學
什麼是單鏈表? 單鏈表是一種線性數據結構,由一系列節點組成,每個節點包含數據域與指向下一個節點的指針。它支持動態內存分配,插入刪除僅需修改指針,但查找需 O(n
POJ 3107 Godfather:樹的重心完整求解與 C++ 實現
問題背景 在圖論中,「樹的重心」是指刪除該節點後,剩餘各連通塊的節點數最大值最小的節點。一棵樹可能有一個或兩個重心。POJ 3107 要求找出所有重心並按編號輸
LeetCode 220:Contains Duplicate III — 滑動窗口 + 桶排序思想
題目 給定整數數組 nums,判斷是否存在索引 i, j 使得: |nums[i] - nums[j]| ≤ t |i - j| ≤ k 核心思想:桶排序
C++ static_cast 與 dynamic_cast 完整用法指南
背景 C 風格強轉 (Type)expr 在 C++ 中不推薦,因功能混雜、易出錯。C++ 提供四個具名轉換運算符:static_cast、dynamic_ca
POJ 1655 Balancing Act:樹的重心 O(n) 求解
題目大意 給定一棵樹,找到重心:移除該點後,剩餘各連通塊(子樹)中最大節點數最小。輸出重心編號及該最大子樹大小。 樹形 DP 遞推 sz[u]:以 u 為根
macOS Cocoa 彈框:NSAlert 與 CFUserNotification 兩種實現
方法一:NSAlert(推薦,Objective-C 原生) NSAlert *alert = [[NSAlert alloc] init]; // [aler
ABAP ALV 多行表頭實現:WRITE 命令 + TOP-OF-PAGE 事件
需求背景 標準 ALV 僅支援單行列標題。若需多行表頭(如分組標題+明細標題),需關閉標準列標題(no_colhead = X),並在 TOP-OF-PAGE
Codeforces 464C Substitutes in Number:逆向構造 + 快速冪
題目大意 初始字符串 s(長 ≤ 1e5)。n 次操作,每次將數字 x (0-9) 替換為字符串 t。求最終字符串對 1e9+7 取模的數值。直接模擬長度指數增
LeetCode 10:正則表達式匹配 — 遞歸回溯完整解析
題目 實現支持 . 和 * 的正則匹配: . 匹配任意單字符。 * 匹配前一字符 0 次或多次。 匹配需覆蓋整個輸入字符串(非部分)。 範例 isMatc
LeetCode 228:Summary Ranges — 有序數組區間合併
題目 給定無重複升序整數數組,返回區間摘要字符串列表。連續區間用 b,單獨數字用 a。 範例 5,7] 雙指針掃描法 start 記錄區間起始索引。 en