HDU 1172 解題報告:暴力枚舉破解猜數字遊戲(Bulls and Cows)
問題描述 給定 n 條猜測記錄,每條包含:猜測的四位數 num、正確數字且位置正確的個數 x(A)、正確數字但位置錯誤的個數 y(B)。求符合所有記錄的秘密四位
HDU 4221 Greedy? 解題報告:貪心策略求最大延遲懲罰
問題描述 有 n 個任務,每個任務需耗時 a,截止時間 b。任務按某順序串行執行,第 i 個任務完成時刻為前 i 個任務 a 之和 sum_i。若 b_i,產
C++ Queue 實作鐵路車廂重排問題
問題描述 輸入軌道有 9 輛車廂,初始順序 5,8,1,7,4,2,9,6,3(左側為火車頭,最先進站)。目標順序為 1,2,3,4,5,6,7,8,9。站內有
Codeforces 19D Points 解題報告:線段樹 + Set 維護動態二維點查詢
問題描述 動態維护一組二維點,支持三種操作: add x y:插入點 (x, y)。 remove x y:刪除點 (x, y)(保證存在)。 find x
Codeforces 45C Dancing Lessons 解題報告:優先隊列 + 鏈表模擬
問題描述 有 n 個人排成一排,每人有性別(B/G)和技能值 a[i]。相鄰的異性配對可以跳舞,優先選技能差絕對值最小的配對;差值相同則選左側索引最小的配對。跳
設計模式詳解:橋接模式——將抽象與實現解耦
什麼是橋接模式? 橋接模式 屬於結構型模式,核心意圖是: 將抽象部分與它的實現部分分離,使它們都可以獨立地變化。 通過組合替代繼承,將原本耦合在同一個類層次
HDU 2600 War 解題報告:貪心策略解區間調度
問題重述 給定 testcase 個時間區間 [start, end],以及一個目標區間 [stp, edp]。需要從給定區間中選擇若干個,使得它們的並集覆蓋
C++ 函數類型全景圖:構造、拷貝、析構、內聯、虛函數深度解析
概覽 C++ 函數類型豐富多樣,各有其生命周期語義與底層機制。本文系統梳理構造函數、拷貝構造(淺/深拷貝)、析構函數、內聯函數、虛函數五大核心類型,附帶代碼實戰
HDU 4217 線段樹解法:動態第 k 小數求和
問題描述 有 t 組測試。每組給定 n 個數(1 到 n),進行 k 次操作:每次輸入 kk,從當前剩餘數中取出第 kk 小的數,累加求和。數字一旦取出不再放回
C++ 字元陣列與 C 風格字串完整指南
前言:字串的兩種面孔 C++ 標準庫提供強大的 std::string,但 C 風格的以空字元結尾的字元陣列(Null-terminated Character
C++ 派生類構造與析構順序詳解:繼承與組合的協奏曲
核心規則速覽 階段順序備註 構造基類構造 → 成員對象構造(按聲明順序) → 派生類構造函數體基類/成員無默認構造時必須在初始化列表顯式調用 析構派生類
深度探索 C++ 對象模型:虛函數表、RTTI 與記憶體佈局
前言:為什麼要懂對象模型? 「C++ 老手分兩類:一種把語言用得爛熟,OO 觀念也有;另一種不但如此,還對台面下的機制——如編譯器合成的 default co
HDU 2674 解題報告:階乘取模的數學技巧
問題重述 計算 n! % 2009。多組測試數據,n 範圍較大,直接計算階乘會溢出且超時。 關鍵觀察:模數分解 2009 = 7 × 7 × 41 = 49
POJ 2472 解題報告:Floyd-Warshall 求最大可靠度路徑
問題描述 POJ 2472 是一道經典的圖論問題:給定一個無向圖,邊的權值表示通信可靠度(百分比),求從節點 1 到節點 N 的路徑,使得路徑上所有邊可靠度的乘
C++ 字元陣列越界問題深度解析:為什麼要為 '\0' 預留空間?
引言:一個看似簡單的問題 在 C++ 程式設計中,動態分配字元陣列時,我們常見到這樣的寫法: m_szDepartment = new char[strlen(
C++ 進階特性實戰:this 指標、static/const 成員、friend 與類設計綜合練習
一、this 指標與物件拷貝 練習 1:MyClass 拷貝函式 y = other.y; // 或直接 x = other.x; 隱式 thi
C++ 虛函數表(vtbl)深度探秘:從記憶體佈局到手動 Hook 虛函數
虛函數實現基礎 含虛函數的類別,編譯器為每個類別生成虛函數表(靜態唯一),表項為函數指針;每個物件開頭植入虛指標(vptr)指向其類別的 vtbl。多態呼叫 v
Tarjan 算法求點雙連通分量並建立塊割樹:完整 C++ 模板解析
問題背景 無向圖的點雙連通分量(Biconnected Components, BCC):刪除任意一個頂點(割點)後仍保持連通的極大子圖。兩個點雙連通分量最多共