#pragma once 與 #ifndef:頭文件防重複包含的兩種方式
兩種寫法對比 方式代碼示例 #ifndef #ifndef __MY_HEADER_H__ #define __MY_HEADER_H__ // 宣告內容 #
POJ 1639:度受限最小生成樹(K度限MST)
問題陳述 給定無向圖,求最小生成樹,且頂點 v0(Park)的度 ≤ K。 解題策略 忽略 v0,先求 v1..v(n-1) 的 MST,權重為 base。
POJ 1386:單詞鏈與有向圖歐拉路徑
問題建模 給定一組單詞,若單詞 A 尾字母 = 單詞 B 首字母,則 A→B 可連接。問能否將所有單詞排成一條鏈(每詞用一次)。 若以單詞為頂點,邊表示可連接,
POJ 1442:雙堆維護有序序列與迭代器
問題描述 支援兩種操作: ADD(x):將 x 插入有序序列。 GET():返回全局迭代器指向的值,隨後迭代器 ++。 初始序列 S[1..m] 給定,操作
模板方法模式:從抄試卷到設計模式的演進
前言:一場關於抄試卷的啟示 故事始於小菜面試歸來,大鳥詢問感受,小菜感嘆「書到用時方恨少」。隨後話題轉向微軟認證考試的題庫風波,以及大鳥童年抄錯題的經歷。大鳥於
設計模式精講:外觀模式——從股票投資到基金統一入口
場景引入 小菜同事炒股虧慘。大鳥建議買基金:專業經理人統籌資金投資股票/債券/外匯。個人直投股票耦合度高(需關注 N 支股票),基金出現後,用戶只關心基金淨值漲
設計模式精講:建造者模式——從炒飯炒麵到規範化構建小人
場景引入 大鳥點炒飯,小菜炒麵。大鳥覺得炒麵不錯也點一份,卻發現「忘放鹽」。小菜說:好不好吃由廚師決定,心情好就是好菜,心情壞就是垃圾。大鳥反駁:麥當勞/肯德基
Muduo 實戰(十):從 TCP Relay 到 SOCKS4a 代理,再到 n:1 / 1:n 連接轉發架構
TCP Relay(窮人的 tcpdump) 客戶端 → Relay → Server,T 字結構。Relay 記錄通訊內容,可注入延遲、翻轉比特模擬故障。
C 語言進階筆記(十四):指針與數組——指針運算、下標等價、常量陷阱與內存屬性修改實驗
指向數組元素的指針 int a[5], *p = &a[0]; 等價於 p = a;(數組名 = 首地址)。 定義時初始化:int *p = a; 或
C 語言進階筆記(十三):指針與指針變量——從門牌號比喻到間接引用本質
指針定義:內存的門牌號 街道 X 有 1024 棟房子,編號 X[0~1023],每棟存一個整數。房子編號即指針——值為其他內存對象地址的數據類型。 換言之:指
VC++ Excel 自動化:Quit() 無法關閉進程的根因與安全數組解決方案
問題現象 VC 操作 Excel 自動化輸出,調用 _Application::Quit() 後 Excel 進程殘留,程序退出時才關閉。註釋掉 Range::
《狂人C》— 徹底理解 C 語言表達式的雙重語義
題目:計算 1+3+5+7+9+11 printf(1+3+5+7+9+11=); printf(%d, 1+3+5+7+9+11); 表達式的兩層含義
《狂人C》— 善用符號常數提升代碼可讀性與可維護性
題目:輸出整數 123 各位數字的 ASCII 碼 符號常數版本 #define ZHENGSHU_3 123 #define GE 1 #define SH
《狂人C》— 高效編輯代碼:善用複製貼上與查找替換
題目:分橘子邏輯逆推 父親分 2520 個橘子給 6 子,經過循環分給後每人數量相同。逆向推導每子原始數量。 核心代碼(逆向推導) #define JUZI_
代碼意識流:花朵數問題(二)— 窮舉策略優化與組合生成
窮舉方案演進 方案 1:遍歷所有 W 位數 for (W_ws=最小; W_ws<=最大; W_ws++) 驗算 缺點:需自定大整數型別、實作賦值/加一/
代碼意識流:花朵數問題(一)— 問題建模與測試驅動開發
問題定義 N 位十進位正整數,若其各位數字的 N 次方和等於該數本身,稱為「花朵數」(N=3 為水仙花數,N=4 如 1634,N=5 如 92727)。任務: