[LeetCode] Path Sum:二叉樹路徑總和遞歸與減法優化兩種寫法
問題描述 給定二叉樹根節點 root 和目標和 sum,判斷是否存在從根到葉子的路徑,使得節點值之和等於 sum。 解法一:遞歸累加當前和 class Sol
布隆過濾器 Java 實現與序列化/反序列化持久化
布隆過濾器原理回顧 布隆過濾器由位數組和多個哈希函數組成。添加元素時,計算 k 個哈希值,將對應位置 1;查詢時,若所有位均為 1 則可能存在(有誤判率),否則
HDU 4370 0 or 1:神轉換為最短路 + 環路檢測
題目大意 給定 n 個節點的有向圖,每條邊權 0/1。選擇一些邊使得:節點 1 出度=1,節點 n 入度=1,其他節點入度=出度。最小化選邊權值和。輸出最小和。
NYOJ 18 The Triangle:數字三角形最大路徑和動態規劃
問題描述 給定 n 行數字三角形(n ≤ 100),從頂點到底邊,每步只能向左下或右下移動,求路徑上數字和的最大值。 動態規劃狀態定義 dp[i][j] 表示
Valgrind Memcheck 實戰:從新手錯誤到內存洩漏根因分析
Valgrind 簡介 Valgrind 是 Linux 下強大的動態分析工具套件,memcheck 是其核心工具,能檢測:非法內存讀寫、使用未初始化值、內存洩
C++ IO 库深度解析(一):流、狀態與錯誤處理
核心流類別體系 類別用途典型對象 istream輸入流基類cin, ifstream, istringstream ostream輸出流基類cout, cer
UVA 1414 Hanoi Towers:尋找遞推關係的數學建模
問題描述 經典漢諾塔變體:三柱 A,B,C,n 個盤子初始全在 A。給定 6 種移動(AB, AC, BA, BC, CA, CB)的優先級列表。算法:重複掃描
CSU 1356 Catch:奇環檢測與二分圖染色
問題描述 給定無向圖(n 點 m 邊,無重邊自環),從任意點出發,每秒移動到相鄰點(可走重複邊,不可原地停留)。問是否存在某時刻 t,使得所有 n 個點都可能被
HDU 3746 Cyclic Necklace:KMP Next 數組的巧妙應用
問題描述 給定字符串 S,長度 n。可在尾部添加字符,使其成為某子串 T 的至少兩次重複(即 S+added = T^k, k≥2)。求最少添加字符數。 核心
HDU 1811 Rank of Tetris:拓撲排序與並查集判斷關係
問題描述 給定 n 個積木塊,m 條關係(, =),判斷關係是否自洽: OK:存在唯一拓撲序。 CONFLICT:存在矛盾(環)。 UNCERTAIN:多種拓
HDU 1026 Ignatius and the Princess I:優先級 BFS 最短路徑重現
問題描述 在 n×m 迷宮中,從 (0,0) 走到 (n-1,m-1)。每步移動耗時 1 秒;進入格子若有怪物(數字 1-9),需停留對應秒數戰鬥。求最短總時間
C++ stringstream 字符串流詳解:類型轉換與內存操作
什麼是 stringstream <sstream> 提供的 stringstream、istringstream、ostringstream 實現
POJ 1038 Is It A Tree?:判斷圖是否為樹
問題描述 給定一系列有向邊(以 0 0 結束一個案例,-1 -1 結束所有輸入),判斷該圖是否為一棵樹。樹的定義:連通、無環、邊數 = 節點數 - 1。特殊情況
UVA 714 Copying Books:貪心與二分搜尋的經典應用
問題背景 印刷術發明前,抄寫書籍全靠手工。現有 m 本書(頁數各異),需分配給 k 位抄寫員(k ≤ m),每位抄寫員負責連續的一段書籍。目標是使負擔最重的抄寫
題目 1163:尋找個位為 1 的質數
問題描述 輸入一個整數 n(2 ≤ n ≤ 10000),輸出所有大於 1 且小於 n、個位數字為 1 的質數。質數之間用空格分隔,最後一個質數後不加空格;若不
SERC 2013 E 摩天大樓:排列組合與可見性計數
問題背景 摩天大樓是一款經典的鉛筆謎題,玩法是在一個 n×n 的方格棋盤上進行。每個格子代表一棟建築,高度從 1 到 n 各不相同。每行和每列必須包含高度 1