POJ 2446 二分圖最大匹配:棋盤覆蓋問題
題目轉化 給定 N×M 網格,部分骨格禁止覆蓋,問能否用 1×2 骨牌完全覆蓋所有可用格。將格子視為二分圖頂點,相鄰可用格連邊,問題轉化為求最大匹配是否等於可用
HDU 1671 Phone List:字典樹解決前綴衝突
問題描述 給定一組電話號碼,若存在某個號碼是另一個號碼的前綴,則輸出 NO,否則輸出 YES。暴力解法會導致時間和空間雙重超限。 字典樹方案 字典樹是處理字串
不調用庫函數求 sin(x):遞歸與三角恆等式
核心思路 利用三個關鍵公式遞歸計算 sin(x): sin(x) = 2 * sin(x/2) * cos(x/2) cos(x) = sqrt(1 - si
HDU 2156 簡單數列求和:預處理避免 TLE
題目特點 HDU 2156 要求計算某個數列的前 n 項和。直接用數組模擬會超時(TLE),需採用預處理 + O(1) 查詢策略。 規律發現 數列定義:a[1
HDU 2178 數學題解:二分查找與最大範圍
題目背景 HDU 2178 考察二分查找的最壞情況猜測次數。在 1 到 m 的範圍內,最壞情況下最多需要 log2(m) + 1 次猜測(取整)。反推可知:若允
HDU 4153 數學題解:分數規律與代碼實現
題目分析 HDU 4153 是一道典型的數學找規律題目。題目給出一個複雜的分數加法表達式: 1×1 + 2/3 + 3/5 + 1/3×1/5 + 0×1/5
C++ 弱引用實現詳解:從基類到模板封裝的完整方案
弱引用 vs 強引用 強引用:控制對象生命週期(如 shared_ptr 引用計數),引用計數歸零時銷毀對象。 弱引用:不控制 對象生命週期,僅觀察。對象銷毀
C++ Time 類設計:靜態成員控制 12/24 制與前導零顯示
需求分析 設計 Time 類,支援: 時分秒存儲與合法性驗證(0-23, 0-59, 0-59) 四種顯示模式切換:24h/12h × 前導零/無前導零 增加
不使用 sizeof 計算 int 位數:位運算經典技巧
問題 在不使用 sizeof、CHAR_BIT、limits.h 等編譯時常量的情況下,通過運行時代碼計算 int 類型的二進制位數(通常為 32)。 核心思
HDU 2192 統計最頻出現次數:簡單哈希/計數應用
題目大意 多組測試數據,每組給出 n(≤ 10000)個整數,求出現次數最多的那個數的出現次數(即眾數頻率)。數值範圍為 int,不可直接開陣列索引。 解法選
POJ 3368 Frequent Values 線段樹維護區間眾數頻率
題目大意 給定非遞減序列 a[1..n](n ≤ 100,000),回答 q(≤ 100,000)次查詢:區間 [l, r] 中出現頻率最高的數值的頻次。序列有
UVA 11729 Commando War 貪心調度:最小化總完成時間
問題描述 有 N(≤ 1000)名特種兵,每人需要 B_i 秒簡報,執行任務需 J_i 秒。簡報必須串行進行(同一時間只能簡報一人),但任務執行可並行。求簡報順
二叉樹 12 大經典問題全解析:遍歷、構造、路徑、轉換與進階應用
前言 二叉樹是數據結構核心,面試高頻考點。本文系統梳理 12 個經典問題,提供核心思路、代碼模板與複雜度分析,助你徹底掌握二叉樹操作。 問題清單與解法概覽
複數類運算符重載任務一:成員函數實現四則運算
實驗目標 定義複數類 Complex,利用類的成員函數重載運算符 + - * /,實現複數的加減乘除運算,並提供顯示功能。 複數運算數學定義 設 z1 = a
HDU 1520 Anniversary Party 樹形 DP:最大權獨立集
題目大意 公司有 N(≤ 6000)名員工,形成一棵樹狀層級結構(根為最高領導)。每人有快樂指數 V[i](可為負)。辦派對時,若某員工參加,其直接上司不能參加
HDU 1873 醫院掛號優先隊列:多科室獨立隊列模擬
題目場景 醫院有 3 個科室(1/2/3),病人掛號(IN)時給定科室號與優先級,取號序號遞增。叫號(OUT)時指定科室,輸出該科室優先級最高(數值大)的病人序
C++ 運算符重載實戰:複數類四則運算完整實現
運算符重載基礎 運算符重載讓自定義類型能像內建類型一樣使用 + - * / 等運算符。作為成員函數重載時,左操作數隱含為 *this,右操作數為參數。語法: R
矩陣快速冪詳解:原理、優化與 POJ 經典四題實戰
矩陣快速冪核心原理 矩陣乘法滿足結合律但不滿足交換律,這使得冪運算 A^k 可用二分指數法(快速冪)在 O(log k) 次乘法內完成。對於 n×n 矩陣,單次