POJ 3630 Phone List:字典樹判斷前綴衝突
題目大意 給定 n 個電話號碼(僅含數字 0-9),判斷是否存在一個號碼是另一個的前綴。若無衝突輸出 YES,否則 NO。測試組數 t ≤ 40,n ≤ 100
POJ 1004 Financial Management:月均帳戶餘額計算
題目背景 Larry 想要知道過去 12 個月銀行帳戶的平均結餘。輸入 12 行數字(精確到分),輸出平均值,格式為「$」開頭,保留兩位小數,四捨五入。 解題
HDU 4747 Mex:區間最小未出現非負整數之和的遞推解法
題目大意 給定一個長度為 n 的數列,要求計算所有區間 [l, r] 中「未出現的最小非負整數」(即 mex)的總和。由於區間數量高達 O(n²),暴力枚舉不可
POJ 1007 DNA Sorting:qsort 快速排序與逆序數計算
問題描述 給定 m (≤ 100) 個長度為 n (≤ 50) 的 DNA 字串(A,C,G,T)。每個字串的「無序度」= 逆序對數(is[j])。按無序度升序
ZOJ 2588 Burning Bridges:無向圖橋(割邊)Tarjan 算法
問題描述 無向圖,刪除部分邊保持連通,求不能刪除的邊(即橋/割邊)。可能有平行邊(平行邊必非橋)。 Tarjan 找橋核心條件 DFS 樹中,邊 (u,v)(
二維數組中不同行不同列兩數最大和:一維映射暴力枚舉
問題描述 給定 R×C 二維數組,找兩個位於不同行且不同列的元素,使其和最大。 一維映射技巧 將二維索引 (r,c) 映射為一維索引 idx = r*C +
HDU 4717 The Moving Points:三分法求移動點集最大距離最小值
題目:n 個點,各有初始座標 (x,y) 與速度向量 (vx,vy)。隨時間 t 變化,點位置為 (x+vx*t, y+vy*t)。求 t ≥ 0 時,所有點對
HDU 4081 MST + 免費一條邊:最大化人口/代價比
題目:n 個城市,各有座標與人口。建邊連通所有城市,代價為邊長總和。可選一條邊免費。求最大化 (免費邊兩端城市人口和) / (剩餘邊總長)。 核心觀察 先構
C++ 虛函數底層機制:虛表指針、動態綁定與多態實現全解析
虛函數是 C++ 實現運行時多態的核心。本文從底層內存佈局、虛表構建、調用流程四個維度深度解析。 虛函數表(vtable)構建規則 編譯器掃描類定義,按聲明
LeetCode 128 最長連續序列:哈希集合 O(n) 線性掃描
題目:無序整數陣列,求最長連續整數序列長度(元素可不連續存放)。要求 O(n) 時間。 哈希集合 + 只從序列頭開始擴展 將所有數存入 unordered_s
LeetCode 5 最長回文子串:暴力剪枝 + 中心擴展對比
題目:給定長度 ≤ 1000 的字串,找出最長回文子串(保證唯一)。 暴力枚舉長度 + 剪枝 從最長可能長度 n 遞減到 2,枚舉所有起始位置,檢查是否為回文
HDU 4741:三維空間兩條線段最短距離與公垂線交點
題目:給定兩條線段 AB、CD(各端點三維座標),求: 1. 兩線段間的最短距離。 2. 公垂線與兩線段的交點座標(若平行則輸出任意對應點)。 幾何公式 設向
C/S 架構下的 Trie 樹查詢:Socket 通訊 + 字典樹加速
專案需求:模擬成績查詢系統,客戶端輸入姓名,伺服器在 Trie 樹中查詢並返回分數。展示 Trie 建構、Socket 通訊、多進程併發處理完整流程。 Tri
LeetCode 26/80 移除有序陣列重複項目:雙指針原地去重
兩題核心均為快慢雙指針原地修改陣列,時間 O(n)、空間 O(1)。 LeetCode 26:每個元素最多保留一次 int removeDuplicates(
HDU 4753 Fishhead's Little Game:狀態壓縮 DP + 記憶化搜索解博弈
題目:4×6 棋盤,共 24 條邊。兩玩家輪流畫邊,畫完一條邊後若形成一個/多個單位正方形,得相應分數並繼續畫(關鍵規則)。雙方最優策略下,先手是否必勝?輸出
POJ 1734 拓展 Floyd 算法:最小環路徑輸出
題目:無向圖 n≤100 點,m 條邊,求最小權環並輸出其頂點序列。若無環輸出 No solution.。 拓展 Floyd 核心思想 標準 Floyd 遞推
C++ 關鍵字深度解析:mutable、volatile、explicit、__based
四個較少用但關鍵的 C++ 修飾符,各解決特定棘手問題。 mutable:突破 const 限制修改成員 用於非靜態、非常量數據成員。允許 const 成員函
UVA 11401 Triangle Counting:O(n) 推導公式計算三角形個數
題目:從 1~n 中選三條邊組成三角形(滿足三角不等式),n ≤ 1,000,000,多組查詢。求不同三角形個數(邊長組合視為無序)。 數學推導 設最長邊為