C++ 多文件正確使用全局變量:extern 聲明與定義分離
錯誤示範:頭文件中定義變量 // global.h int sharedData = 9; // 錯誤!每個包含此頭文件的 .cpp 都會定義一份 編譯錯誤:
C++ 單例模式深度探究:從靜態成員到終極方案
單例模式核心需求 全局唯一實例。 延遲初始化(可選)。 線程安全(多線程環境)。 正確銷毀(資源釋放)。 支援多態(繼承)。 方案演進路線圖 E[Pro
POJ 3268 Silver Cow Party:雙向 SPFA 求最長往返路徑
問題描述 有 N 個農場(節點),M 條有向路徑(邊),每條邊有長度。派對在農場 S 舉行。每隻奶牛從自己的農場出發去 S,派對結束後再回到自己的農場。求往返路
Java String 構造器中 originalValue.length > size 的深度解析
現象觀察 在 JDK 6 `String(String original)` 構造器中發現判斷: size) { // 為什麼會發生? in
HDU 4763 KMP 應用:最長不重疊前後綴子串
問題描述 給定字符串 S,找最長子串 A,滿足: A 是 S 的前綴。 A 是 S 的後綴。 A 在 S 的中間(非前綴、非後綴位置)至少出現一次。 三次出現
HDU 3909 數獨求解器:DLX 精確覆蓋判定唯一解與最小題
問題描述 給定 N² × N² 數獨網格(N = 2, 3, 4),判斷其狀態: No Solution:無解。 Multiple Solutions:多解。
C++ Primer 學習筆記:複製構造函數與賦值運算符深度解析
複製控制三部曲 C++ 類的複製控制包含三個核心操作: 複製構造函數:`T(const T&)` — 用同類對象初始化新對象。 賦值運算符:`T& opera
POJ 2528 Mayor's Posters:線段樹區間覆蓋 + 離散化經典實戰
問題描述 有 n 張海報依次貼在牆上,每張海報覆蓋區間 [L, R]。後貼的海報會覆蓋前面的。求最終可見的海報數量(即至少有一點未被覆蓋的海報)。 約束:n ≤
UVA 12299 線段樹模板:單點更新、區間最小值查詢與 Shift 操作
題目概覽 維護一個數組,支援兩種操作: query l r:查詢區間 [l, r] 的最小值。 shift i₁ i₂ ... iₖ:將位置 i₁, i₂,
NYOJ 618 追擊問題:幾何與代數的完美結合
問題背景 豺狼人帶著蒂米從原點 (0,0) 沿直線 y = kx 以速度 v 逃跑。阿薩斯部隊位於 (a, b),需以某速度 V 直線追擊,使得追擊距離最短且正
Codeforces A. Supercentral Point - 雙哈希集合 O(N) 判定超中心點
題目 給定 n≤200 個平面整數點。若某點在四個方向(上、下、左、右)各至少有一點,則為「超中心點」。求超中心點數量。 O(N²) 暴力可過,但 O(N)
UVA 10010 Where's Waldorf? - 八方向字母網格單詞搜尋
題目 給定 m×n 字母網格(大小寫不敏感)與 k 個單詞,找每個單詞首字母出現的最上、最左座標(1-based)。八方向:水平、垂直、對角線。 暴力枚舉 +
UVA 401 Palindromes - 回文與鏡像字串雙重判定
定義 回文:正讀反讀相同 鏡像字串:每字元替換為其鏡像字元後,反轉等於原串 鏡像回文:同時滿足上述兩條件 鏡像映射表 鏡像對(含自我鏡像): A↔A H
UVA 11300 Spreading the Wealth - 環形桌子財富重分配最小移動數
問題轉化 n 人圍圓桌,第 i 人有 Aᵢ 枚金幣 總和可被 n 整除,目標人人擁有 M = sum/n 每人只能給左右鄰居金幣,求最小總移動枚數 數學建
UVA 11729 Commando War - 貪心排序最小化總作業完成時間
問題重述 N 名士兵,每人需 Bᵢ 秒簡報、Jᵢ 秒執行任務 簡報串行(同一時間只能簡報一名),任務可並行 找簡報順序使**所有任務完成的最晚時間**最小
UVA 11292 Dragon of Loowater - 貪心匹配騎士砍龍頭
題目模型 n 個龍頭,直徑 d₁..dₙ m 位騎士,身高 h₁..hₘ 騎士身高 ≥ 龍頭直徑才能砍下,代價 = 身高(金幣) 每位騎士只能砍一頭,求最小總
矩陣求逆 C++ 實現:高斯消元法與伴隨矩陣法雙重驗證
數學原理 可逆矩陣 A 的逆矩陣 A⁻¹ 可通過以下兩種方法求得: 高斯消元法:構造增廣矩陣 [A | I],行變換將左半部化為 I,右半部即為 A⁻¹ 伴隨
C++ 專案實戰:銀行 ATM 模擬系統(二)選單驅動與函數模組化
需求 模擬 ATM 選單:查詢、取款、存款、轉帳、退出。使用 switch 分派,各功能封裝為函數。 程式架構 #include <iostream&g