HDU 1060 Leftmost Digit:對數法求 n^n 首位數字
問題重述 給定整數 n (1 ≤ n ≤ 1000),求 n^n 的最左邊(最高位)數字。多組測資,以 0 結束。 數學原理:對數特性 設 x = n^n,取
圖的鄰接矩陣表示法與廣度優先搜尋(BFS)完整實現
前言 圖論是演算法領域的核心基礎,鄰接矩陣作為稠密圖的優選儲存結構,配合廣度優先搜尋(BFS)可解決單源最短路徑、連通分量檢測、拓撲排序等經典問題。本文提供基於
鏈式佇列完整實現:從建立到清空的核心操作詳解
前言 佇列作為先進先出(FIFO)的線性資料結構,在作業系統排程、網路封包處理、訊息佇列等場景中應用極廣。本文將以 C++ 鏈表為基礎,完整實現佇列的八大核心操
UVA 10196 國際象棋將軍判定:完整 C++ 解法解析
問題背景 UVA 10196 Check the Check 要求讀取多組 8×8 棋盤配置,判斷白王或黑王是否被對方棋子將軍。輸入以 64 個字元表示棋盤(大
C++ 運算符重載實戰:Time 時間類別的完整實作
前言 在 C++ 程式設計中,運算符重載是讓自訂類別擁有內建型別直觀操作體驗的關鍵技術。本文透過一個完整的 CTime 時間類別範例,詳細展示如何重載比較運算符
POJ 2516 Minimum Cost:最小費用最大流解決多商品運輸調度
問題重述 有 N 個店主、M 個供應商、K 種商品。每個店主對每種商品有需求量,每個供應商有庫存量,且每種商品從供應商 j 運往店主 i 的單位成本不同。目標:
BOJ 652:數位 DP + AC 自動機解決數字區間禁忌子串計數
問題建模 給定區間 [L, R] 及兩個數字串 A、B,統計區間內不包含 A 或 B 作為子串的數字個數。這是經典的數位 DP結合AC 自動機的應用場景:數位
POJ 3982 序列:Tribonacci 數列第 99 項大數計算
題目解析 給定遞迴關係 Aₙ = Aₙ₋₁ + Aₙ₋₂ + Aₙ₋₃ (n ≥ 3) 及初始值 A₀, A₁, A₂(範圍 0~32767),要求輸出 A₉₉
POJ 2389 Bull Math:大數乘法實作詳解
題目背景 在 POJ 2389 Bull Math 這道經典題目中,我們需要計算兩個最多 40 位的正整數乘積。雖然現代程式語言都提供大數庫,但題目明確要求不使
C++ 類訪問權限深度解析:public/protected/private 在不同作用域下的可見性
核心規則速查表 訪問場景publicprotectedprivate 類外部(對象)✅ 可見❌ 不可見❌ 不可見 類內部(成員函數)✅ 可見✅ 可見✅ 可見
一般電路兩點間等效電阻:基於基爾霍夫定律與高斯消元法
問題描述 給定一個帶權圖,n 個節點、m 個電阻(邊權為電阻值)。求節點 1 與節點 n 之間的等效電阻。 物理建模:基爾霍夫電流定律 (KCL) + 歐姆定
Three20 框架網絡緩存清理:大小計算與一鍵清空實現
背景 Three20 是早期 iOS 開發中流行的開源框架,其 TTURLCache 會在 Library/Caches/Three20/ 目錄下緩存大量圖片等
HDU 1285 拓撲排序:基於入度的 BFS 實現(Kahn 算法)
問題描述 給定一個有向圖(n 個頂點,m 條邊),輸出其拓撲排序序列。若有多個可行序列,輸出編號最小的頂點優先(即字典序最小)。圖可能包含重邊。 演算法原理:
C++ 時間類設計:運算符重載實現時間運算
類設計目標 實現一個 Time 類,封裝時、分、秒,支援: 時間設定與顯示(格式 hh:mm:ss) 增加秒/分/時(單位遞增與批量增加) 時間比較運算符(,
xmuOJ 1447 積性函數:線性篩法求歐拉函數與約數個數
問題背景 利用積性函數性質:若 gcd(a,b)=1 則 f(ab)=f(a)f(b)。預處理 1~10^6 以內所有整數的歐拉函數 φ(i)(代碼中 x[i]
CF 269D Maximum Waterfall:線段樹 + DP 解析水流最大瓶頸路徑
問題描述 給定若干水平線段(牆),每段有高度 h、左端點 l、右端點 r。水從高處流向低處,只能流向在水平投影上有重疊且無更高牆阻擋的牆。求一條從最高牆(源)流