POJ 1469 COURSES:二分圖匹配裸題(匈牙利算法)
題目大意 有 P 門課程,每門課需選一名學生作課代表組成委員會。每個學生最多代表一門課。問能否為所有課程找到互不相同的代表。輸出 YES 或 NO。 建模為二
ZOJ 2955 Interesting Dart Game:鴿巢原理優化完全背包
題目建模 給定 n 種飛鏢得分 w[i],每種可無限使用,求達到總分 m 所需最少飛鏢數。這是一個「代價為 1 的完全背包」問題,但 m 可高達 10^9,直接
Hibernate 入門:從零搭建配置環境(含 XML 與 Jar 包詳解)
什麼是 Hibernate? Hibernate 是一個開源的對象關係映射(ORM)框架,對 JDBC 進行輕量級封裝,讓 Java 開發者能用面向對象思維操作
LeetCode 95:生成所有唯一二叉搜索樹(遞歸構造法)
題目回顧 給定整數 n,生成所有節點值為 1...n 的結構不同的二叉搜索樹(BST)。例如 n=3 時共有 5 棵不同的 BST。 遞歸構造思路 BST 的
POJ 3463 Sightseeing:次短路問題的 Dijkstra 變體解法
題目大意 給定一個無向圖,求從起點到終點的最短路徑條數,以及長度比最短路徑恰好多 1 的路徑條數。本質上是求「次短路」的數量。 核心思路:狀態擴展的 Dijk
C++ 向量遍歷的四種經典寫法,你全都知道嗎?
前言 在 C++ 開發中,std::vector 是最常用的容器之一。針對向量的遍歷操作,雖然看似簡單,但卻有多種寫法,各有優劣。本文將介紹四種經典的遍歷方式,
C++ 與 VB 差異對照(一):資料類型與變數宣告
一、基本資料類型對照表 C++ 類型中文名位元組VB 類型中文名位元組 int整型4Integer整型2 unsigned int無號整型4——— short
HDOJ 4300 Clairewd's Message:Extended KMP 構造最短完整文本
題目重述 給定 26 字母映射表 Table(密文 → 明文)與截獲字串 P。 P 前段為密文,後段為明文,分界未知。 將 P 補全為最短可能的完整文本(密文
POJ 3308 Paratroopers:二分圖最小割 + 對數轉乘積
題目轉化 n × m 網格,L 個傘兵坐標 (x, y)。 可在任意行/列放置雷射砲:第 i 行成本 r[i],第 j 列成本 c[j]。 **總成本 = 所
HDU 2095 找你的禮物:異或運算的經典應用
問題描述 新年派對上有 n 個禮物(n 為奇數),每個禮物有一個卡片號碼。只有一個號碼出現奇數次,其餘均出現偶數次。輸入多組測試數據,每組先給 n,再給 n 個
C++ 與 VB 差異對照(二):運算子、賦值表達式與算術運算
一、運算子對照表 類別C++VB備註 算術+ - * / %+ - * / ModC++ % 為取模,VB 用 Mod 關係== != == <> =VB
C++ 函數執行時間精準測量:clock_gettime 納秒級計時器
為什麼需要微基準測試 函數級效能分析能揭示熱點路徑、鎖競爭、記憶體存取模式等宏觀剖析難以捕捉的問題。納秒級精度對高頻呼叫函數至關重要。 時間 API 選擇對比
POJ 2239 另解:BKDR Hash + 二分匹配
題目理解修正 初見以為樣例中重複的 (1,1) 只能選一次,實際上**每門課可在多個時段上課**,學生可任選其一,不同時段視為不同節點。樣例 5 門課,時段 (
HDOJ 4763 Theme Section:Extended KMP 求最大主題段長度
題目大意 給定字串 S(長度 ≤ 10⁶),尋找最大長度 L,使 S 可表示為 E A E B E,其中 E 為長度 L 的前綴/中段/後綴,A、B 任意(可
C++ 面向物件核心筆記:虛函數、動態綁定與繼承機制
虛函數與動態綁定核心規則 virtual 啟用動態綁定,**唯有透過基類指標/引用呼叫虛函數**才觸發。 非虛函數**編譯期靜態綁定**,虛函數**執行期動態
POJ 2239 Selecting Courses:二分圖最大匹配解題詳解
題目大意 N 門課程(N ≤ 300),每門課有多個上課時段。 一週 7 天 × 12 節 = 84 個時段。 每門課選一個時段,時段不衝突。求最多能選幾門課