LeetCode Reorder List:鏈表重排 L0→Ln→L1→Ln-1...
問題描述 給定單鏈表 L0→L1→...→Ln-1→Ln,原地重排為 L0→Ln→L1→Ln-1→L2→Ln-2→...。不允許修改節點值,只能改指針。 算法
POJ 2773:二分 + 容斥原理求第 K 個互質數
問題描述 給定 m (≤1e6) 和 K (≤1e8),求第 K 個與 m 互質的正整數。 核心思路:二分答案 + 容斥計數 設 f(x) = [1,x] 中
LeetCode Single Number:位運算 O(n) 時間 O(1) 空間找唯一單數
問題描述 整數數組中,只有一個元素出現一次,其餘均出現兩次。找出這個單一元素。要求 O(n) 時間、O(1) 額外空間。 核心解法:異或運算 (XOR) 性質
POJ 2376 Cleaning Shifts:區間覆蓋貪心選最少牛覆蓋全天
問題描述 N (≤ 25,000) 頭牛,每頭牛可工作區間 [s, e]。一天分 T (≤ 1,000,000) 個班次(1..T)。選最少牛使每個班次至少一頭
HDU 2060 Snooker:斯诺克得分規則數學建模
問題描述 斯诺克桌面上有 n 顆球。選手 A 當前得分 a,選手 B 得分 b。假設 A 將剩餘所有球全打進,問 A 能否超過或追平 B(即 a + 剩餘球最大
UVA 104 Arbitrage:Floyd-Warshall 最大乘積路徑與最短套利序列
題目大意 n 種貨幣,給定匯率矩陣 rate[i][j] 1.01。若多解,要求邊數最少 (最短路徑);再同長則字典序最小。輸出路徑節點序列 (1-based)
WUST OJ 1421 We Love Girl:貪心/DP 分配男女接待員最大化滿意度
題目大意 n 所學校 (≤20),x 名女生、y 名男生 (x+y=n)。第 i 校派女生得 pᵢ 滿意度,派男生得 qᵢ。每校必須分配一名接待員 (男或女),
UVA 558 Wormholes:Bellman-Ford 判斷負環
題目大意 有 N 個星系 (節點),M 個蟲洞 (有向邊),每條邊有權重 (時間)。教授想利用蟲洞回到過去,即尋找是否存在負權環 (總權重 < 0 的環)。輸出
LeetCode 133 Clone Graph:無向圖深拷貝 BFS/DFS 完整解法
題目 給定無向連通圖的一個節點引用,每個節點含 label 與 neighbors 列表。回傳圖的深拷貝 (新節點、新邊)。 核心難點 圖含環,需避免重複訪
Java ByteArrayOutputStream OutOfMemoryError 兩種原因深度分析
錯誤現象 使用 ByteArrayOutputStream (BAOS) 累積大量資料時,可能在兩個不同位置拋出 OutOfMemoryError (OOM)。
LeetCode 144 Binary Tree Preorder Traversal:非遞迴前序遍歷完整解法
題目 給定二元樹根節點,回傳前序遍歷 (根→左→右) 節點值列表。要求非遞迴實作。 方法一:顯式堆疊模擬遞迴 (標準解) /** * Definition
HDU 2088 Box of Bricks:移動最少磚塊使各堆等高
題目大意 有 n 堆磚塊,高度各異。每次移動一塊磚從一堆到另一堆。求使所有堆高度相等的最少移動次數。 數學解法 目標高度 = 平均高度 avg = sum /
C++ 物件模型深度解析:預設建構函數合成時機與操作詳解
核心結論 編譯器只在必要時合成預設建構函數 (implicit nontrivial default constructor)。若類別不屬於以下四類,編譯器不會
Codeforces 547D Mike and Fish:二分圖歐拉路徑邊著色
題目轉化 給定 n 個平面點 (x,y)。需將每點染紅/藍,使任意水平線或垂直線上的紅藍點數差 ≤ 1。 建模: X 座標集合 → 左部節點集 U。 Y 座標
Codeforces Round #254 Div.2 A/B 題解:棋盤著色與化學實驗危險度
Problem A: DZY Loves Chessboard 題意 n×m 棋盤,. 為好格,- 為壞格。好格需填 W 或 B,使相鄰 (上下左右) 好格顏色
HDU 5254 暴力模擬:網格擴散過程模擬求最終黑格數
題目大意 n×m 網格,初始 k 個黑格 (1),其餘白格 (0)。反覆執行:若某白格的上下左右四個方向中,存在「垂直方向有黑格」且「水平方向有黑格」 (即四個
C/C++ 計算結構體成員偏移量:offsetof 宏原理與實戰應用
為何需要偏移量? 插件/模組架構:核心定義介面結構,插件自定義結構佈局,核心透過偏移量存取插件資料,實現二進制相容。 序列化/反序列化:不依賴成員名稱,直接按
C++ 實現循環佇列:模板類完整實作與操作詳解
循環佇列 設計核心 固定大小陣列 Type* base,容量 capacity。 兩指標:front (隊頭索引)、back (隊尾下一插入索引)。 判空:f