LeetCode Add Two Numbers——鏈表相加模擬大整數加法
題目描述 給定兩個非空鏈表表示兩個非負整數,數字逆序存儲(個位在頭節點)。將兩數相加,結果同樣用逆序鏈表返回。假設無前導零,除非數字本身為 0。 例:`(2→4
LeetCode Restore IP Addresses:DFS 回溯恢復 IP 地址
LeetCode Restore IP Addresses:給定純數字字串,插入 3 個點分成 4 段,每段 0-255 且無前導零(除非單個 0),返回所有合
UVA 488 Triangle Wave——簡單模擬輸出三角波形
題目大意 給定振幅 A(1~9)和頻率 F,輸出 F 個三角波。每個波形從 1 遞增到 A 再遞減到 1,每行數字重複次數等於行號。波形之間空一行,最後一個波形
TCP 序列號與確認號深度解析:三次握手、數據傳輸、四次揮手全流程圖解
引言 TCP 通過序列號和確認號實現可靠、有序的字節流傳輸。搞懂它們在連接建立、數據傳輸、連接關閉三階段的變化規律,是網絡排錯與協議分析的基本功。本文結合 Wi
C++ 底層性能優化三大誤區:位域、緩存缺失、偽共享
前言 很多程序員習慣性地使用位域節省內存、用 `list` 替代 `vector` 減少拷貝、忽略多線程下的緩存行競爭。本文通過三個實測案例,揭示這些「直覺優化
HDU 3143 Speedy Escape——二分答案 + SPFA + DFS 可行性判定
問題背景 兄弟要逃離城市,有 n 個路口、m 條雙向道路(長度為整數)、e 個出口。警察局位於 pli,兄弟起點 bro。兄弟車速可調,警察車速固定 160。求
HDOJ 3065 病毒入侵持續中——AC 自動機模板題詳解
題目大意 給定 N(≤1000)個病毒特徵碼(僅含大寫字母,長度 1~50),以及一段長度達 2,000,000 的網站源碼(可見 ASCII 字符)。要求統計
HDU 1507 最大二分匹配問題詳解與代碼實現
問題描述 給定一個 n × m 的網格土地,其中有 p 塊土地不能出售。目標是找出最多能賣出多少塊 1×2 的土地(即多米諾骨牌覆蓋問題)。每塊 1×2 的土地
C++ Primer 核心筆記(上):基礎語法、類型系統、記憶體管理
基於《C++ Primer 第 3 版》整理的核心知識點,涵蓋起步、瀏覽、資料型別、運算式、陳述句等基礎篇章精華。 第一章:起步 標準頭文件與命名空間 //
HDU 4499 Cannon:5×5 棋盤放炮 DFS 回溯與剪枝
HDU 4499:5×5 棋盤,Q 個固定棋子,放置最多「炮」(象棋規則:隔一子吃子),使炮之間不能互相攻擊(攻擊固定棋子不算)。 象棋炮攻擊規則形式化 位置
UVa 10344 - 23 out of 5:全排列 + 三進制運算符枚舉
UVa 10344:給定 5 個整數,能否通過 +、-、* 運算(按順序結合,無括號優先級,即左結合)得到 23。 問題建模 5 個數固定順序,4 個運算符位
ZOJ 3327 Friend Number:數位乘積約束下的最小更大數構造
ZOJ 3327:給定數字串,求最小的大於它的數,使得各位數字乘積相同。數字長度 ≤ 10000,含 0 需特殊處理。 核心觀察:質因子分解 數字 0-9 的
ZOJ 3769 Diablo III:裝備選擇 DP 裝備組合優化
ZOJ 3769:13 類裝備,每類可選一件(戒指可雙戴),每件有攻擊力 d 和防禦 t。若選雙手武器,不可再選單手武器和盾牌。求防禦 ≥ M 時最大攻擊力。
HDU 1071 The Area:拋物線與直線圍成區域面積計算
HDU 1071:已知拋物線頂點 P1、拋物線與直線交點 P2、直線上另一點 P3,求拋物線與直線圍成區域面積。 幾何建模 設拋物線方程:y = ax² +
HDU 1535:雙向 SPFA 解決有向圖雙向最短路徑和
HDU 1535:給定有向圖,求從節點 1 到所有其他節點的最短路徑和,加上從所有節點到節點 1 的最短路徑和。 核心思路:正向圖 + 反向圖 建立正向圖:
C 指針操作隱蔽陷阱:刪除節點時的 next 域修改順序
鏈表操作中,指針賦值順序稍有不慎即導致邏輯錯誤。本文剖析一個經典陷阱:刪除節點時 next 域修改與臨時指針保存的順序問題。 問題代碼對比 正確版本(代碼段
C++ 基礎進階:虛函數、重載、覆蓋、隱藏完整指南
C++ 中函數名稱復用機制繁多,虛函數、重載、覆蓋、隱藏 概念易混淆,本文系統梳理其定義、規則、區別與最佳實踐。 核心概念定義對比 機制發生場景函數簽名要求
POJ 3261 Milk Patterns:後綴數組 + 二分查找求最長重複子串
POJ 3261:給定長度 N (≤20000) 的整數序列,求至少出現 K (2≤K≤N) 次的最長子串長度(允許重疊)。 核心思路:後綴數組 + LCP