孿生素數統計:埃氏篩預處理 + O(1) 區間查詢
問題定義 給定 m (≤ 1,000,000),統計 ≤ m 的孿生素數對數。本題擴展定義:差為 1 或 2 的相鄰素數對均計入(即 (2,3) 也算)。多組測
ACM 1029 魔咒詞典:C++ 雙向 map 實現 O(1) 查詢
問題建模 維護雙向映射:咒語 ↔ 功能。輸入 ≤10 萬詞條,查詢 ≤1000 次。要求:給咒語輸出功能,給功能輸出咒語,不存在輸出 what?。 數據結構選
C99 restrict 關鍵字詳解:指針別名優化與編譯器行為
核心語義 restrict (C99) 僅修飾指針,承諾:**該指針是訪問其指向對象的唯一且初始方式**。即:對象的生命週期內,所有訪問必須基於此指針(或由此衍
HDU 1016 Prime Ring Problem 完整解析:DFS 回溯構造素數環
問題描述 將 1..n (n<20) 排成環,1 固定首位,相鄰兩數之和為質數。按字典序輸出所有合法排列。 解法:DFS + 剪枝 預計算 40 以內
PAT 1053 Path of Equal Weight 題解:樹形 DFS + 字典序排序輸出
問題重述 給定帶權樹(根節點 0),找出所有從根到葉的路徑權重和等於 S 的路徑。輸出要求:按路徑節點權重序列的非遞增字典序排序(即優先比較第一個不同權重,較大
深度理解遞歸:棧幀模型、三段式拆解與設計原則
遞歸的本質:棧幀與內存模型 每次遞歸調用都會在棧上分配一個棧幀,保存該層的局部變量、返回地址、參數等。調用鏈向下增長,返回時依次彈出,恢復上層現場。圖示:
ACM 週賽題解匯總:HDU 1253/1016/3665 等多題詳解
A. HDU 1253 勝利大逃亡 - 三維 BFS 在 A×B×C 的三維網格中從 (0,0,0) 走到 (A-1,B-1,C-1),障礙為 1,求最短步數是
KMP 字符串匹配算法深度解析:Next 數組構建與匹配流程
核心思想 KMP 算法通過預處理模式串構建 next 數組(部分匹配表),在匹配失敗時利用已匹配信息避免主串回溯,實現 O(N+M) 線性時間複雜度。關鍵洞見:
HDU 3592 World Exhibition 題解:差分約束系統與 SPFA 判斷負環
問題建模 給定 N 人排隊,兩類約束: Like (X 條):A、B 距離 ≤ C → dist[B] - dist[A] ≤ C,建邊 A → B (權值
隊列數組實現與舞伴配對問題:C++ 模板類完整解析
基於數組的循環隊列實現 本文展示一個通用的 C++ 隊列模板類,採用固定大小數組作為底層存儲,適用於數據量可預估的場景。 隊列類定義 (queue.h) #i
ZeroMQ 高性能網絡通訊庫實測:單線程達 8000+ QPS 詳解
ZeroMQ 簡介 ZeroMQ(簡稱 ZMQ)是一個開源、跨語言、輕量級且極高性能的網絡通訊庫。官方網站:zeromq.org。它以簡潔的 API 和驚人的吞
UVA 270 / POJ 1847 Lining Up:最大共線點數 O(n³) 暴力解法
題目大意 給定平面上 ≤ 700 個整數座標點,求最多有多少點在同一直線上。多組測資,測資間有空行。 算法:任選兩點定一直線 枚舉所有點對 `(i, j)`
GCC 預處理器擴展符 # 與 ## 深度解析:字符串化與標記粘連
兩大擴展符功能 符號名稱作用 #Stringification(字符串化)將宏參數轉為字符串字面量 ##Token Pasting(標記粘連)將兩側標記拼接為
HDU 3397 Sequence Operation:線段樹維護區間翻轉、賦值與最長連續 1 查詢
題目大意 維護一個 0/1 序列,支持 5 種操作: 0 a b:區間 [a,b] 全置 0 1 a b:區間 [a,b] 全置 1 2 a b:區間 [a,
結構體陣列實作:學生成績排序與獎學金名單篩選
需求分析 從 `score.txt` 讀取資料至結構體陣列。 計算總分 (讀取時同步完成)。 按總分降序排序 (冒泡/選擇/快排均可)。 輸出排序後完整成績單
iOS UIImage 壓縮實戰:尺寸縮放與質量壓縮雙管齊下
兩種壓縮策略 尺寸縮放:減少像素數量,適用於顯示縮略圖、上傳限制分辨率。 質量壓縮:JPEG 有損壓縮,保持像素不變,減小文件體積。 1. 尺寸縮放:im
字符串中查找最長連續數字子串:C++ 實現與邊界處理
問題描述 實現函數 int continumax(char* &outputstr, const char* inputstr),返回最長連續數字串長度,並將該