POJ 1915 Knight Moves:BFS 求棋盤上騎士最少步數
問題:l×l 棋盤 (4 ≤ l ≤ 300),騎士從 (sx,sy) 走到 (ex,ey),輸出最少步數。多測試用例。 BFS 模板 狀態:(x, y,
C++ 標準庫有序區間查找算法:binary_search、lower_bound、upper_bound
針對已排序區間 [first, last) 的三大查找算法,均為對數級時間。 1. binary_search bool binary_search(It f
StretchBlt vs StretchDIBits:GDI 圖像拉伸繪制性能與用法對比
Windows GDI 提供兩種拉伸繪制位圖的 API,本文對比其原理、代碼模式與實測性能。 StretchBlt 源:設備相關位圖 (DDB),需先 Se
C++ 對象內存佈局深度解析:單繼承、多重繼承、虛繼承下的 vptr 與 vtable
環境:Ubuntu 12.04 + GCC 4.8.1。本文通過實測內存佈局,揭示虛函數表指針 (vptr) 與虛函數表 (vtable) 在三種繼承模式下的組
C++ 隱式類型轉換:構造函數如何悄悄改變函數調用
C++ 允許單參數構造函數執行隱式類型轉換,這既方便又危險。 現象示例 class Boo { public: Boo(int c) { cout << Im
An Easy Task:閏年判斷與第 N 個閏年查找
問題:給定起始年份 Y 和正整數 N (≤10000),求從 Y 開始的第 N 個閏年。若 Y 本身是閏年,則為第 1 個。 閏年規則 (year % 4 =
大型矩陣乘法加速實測:串行 vs 並行分塊 vs SSE vs CUDA
實驗環境 CPU:Intel i5-3470 (4 核) GPU:NVIDIA GTX 660 Ti 矩陣規模:500 / 1000 / 2000 / 400
C++ 異常處理深度解析(二):Itanium ABI、DWARF .eh_frame、Personality Routine 與 Landing Pad
接上文,本文深入 GCC 實現層面,揭示 throw/catch 背後的 unwind 機制、數據結構與運行時協作流程。 核心數據結構 .eh_frame
C++ 靜態成員實戰:商品銷售統計總額與平均單價
問題:某商品統一打 9.5 折,銷售員可靈活定價,單筆 ≥10 件再打 9.8 折。已知 m 位銷售員的工號、銷量、單價,用靜態數據成員累計總銷售額和總件數,靜
C++ Primer 筆記:命名空間 using 與 string 類型完全指南
標準庫類型是對底層數組、指鉆等的高級抽象。本文聚焦 using 聲明與 string 核心用法。 一、命名空間 using 聲明 using std::cin
C++ 友元函數實現 Date/Time 類數據共享輸出
練習要求:設計 Date 和 Time 類,編寫全局函數 display(Date&, Time&) 輸出日期時間。要求 display 為普通函數,但在兩個類
UVa 167 The Sultan's Successors:八皇后回溯 + 最大權值和
問題:經典八皇后問題變體。8×8 棋盤每格有權值,放置 8 個互不攻擊的皇后,求權值和最大值。 回溯 + 剪枝 按行遞歸,每行放一個皇后; 用三個布爾數組標
Java 第七章:復用類——繼承、多態與 Object 根類
本章圍繞「復用」展開,核心機制是繼承。所有類默認繼承 Object,因此擁有 toString()、equals()、hashCode() 等方法。 繼承與方
HDU 1317 XYZZY:Bellman-Ford 求最長路 + 正環判斷可達性
問題:n 個房間,初始能量 100。每進入房間 i 能量變化 w_i 0。房間可重複進入。判斷能否從 1 到達 n。 建模:最長路 + 正環 將能量視為「距
NYOJ 977 最大的最小公倍數:數學規律 O(1) 直接計算
問題:給定 n,從 1..n 中選三個數,使其最小公倍數最大。輸出該最大 LCM 值。 數學規律推導 n ≤ 2:直接輸出 n; n = 3:LCM(1,2
ASP.NET MVC 異常處理最佳實踐:友好提示、404 處理、日誌記錄
生產環境中,異常處理關係用戶體驗與系統安全。本文梳理 ASP.NET MVC 異常處理的三層防線。 1. Web.config 全局攔截: <custo
POJ 2516 Minimum Cost:多商品最小費用最大流建模
問題:n 個商店、m 個供應商、k 種商品。已知每店各商品需求、各供應商各商品庫存、每商品從供應商到商店的單位運費。判斷能否滿足所有需求,若能求最小總運費。