CSUOJ 1302 Walking on Chessboard:BFS 計數 k 步到達目標路徑數
問題描述 n×m 棋盤 (n,m ≤ 100),起點 (h.x, h.y),終點 (ex, ey)。每步可向上、左、右移動一格 (不可下)。恰好走 k 步 (k
HDU 1963 Investment:多重背包動態規劃求最大投資收益
問題描述 初始資金 V,每年有 t 種投資項目,項目 i 需投入 v[i] (1000 的倍數),年收益 w[i]。投資期 y 年。每年結束可將收益加入本金,下
C++ 冒泡排序模板函數設計:泛型編程實踐
需求背景 課程設計要求編寫一個通用的冒泡排序模板函數,能對任意可比較類型的數組進行排序,並在 main 中演示對 int 和 double 數組的排序。 模板
BZOJ 3181 [Coci2012] BROJ:最小質因子為 p 的第 n 小數
問題描述 10⁹ 輸出 0。 關鍵觀察與分類討論 n = 1:答案即為 p。 √10⁹ ≈ 316231 時無解輸出 0。 p ≥ 29:p 較大,符合
POJ 1026 Cipher:置換循環加密與大次數求解
問題描述 給定長度 N (N ≤ 100) 的置換鍵 k[1..N] (1-based,值為 1..N 的排列),及字符串 S (長度 N,不足補空格)。加密一
POJ 1118 Lining Up:暴力枚舉求最大共線點數
問題描述 給定 n 個點 (n ≤ 700),求共線的最大點數。輸入多組,n=0 結束。 解法:O(n³) 暴力枚舉 (數據範圍允許) 枚舉所有點對 (i,
POJ 3322 Bloxorz:BFS 狀態空間搜索解立方體翻滾遊戲
問題描述 在 R×C 網格 (R,C ≤ 500) 中,1×1×2 立方體初始狀態給定 (立臥、橫臥方向)。立方體可翻滾 (上下左右),需最少步數到達目標格 (
C++ 容器 size/capacity/reserve/resize 詳解與實測對比
核心概念辨析 成員函數含義影響 size()當前**元素個數**邏輯大小,遍歷邊界 capacity()當前分配內存可容納的**最大元素數** (不重新分配)
C++ 拷貝構造函數何時會被合成?深入編譯器實現機制
核心結論 **拷貝構造函數並非「一定存在」,而是「在必要時由編譯器合成」。** 教科書常說「若類未定義拷貝構造函數,編譯器隱式定義一個」,這種表述不夠精確,易造
POJ 1503 大整數加法:高精度加法模擬
問題描述 讀入多行大整數(每行一個,以單行 0 結束),輸出它們的和。數字長度可超過標準類型範圍,需模擬手工列竖式加法。 算法思路 用字符數組/字符串讀入每
LeetCode 102: Binary Tree Level Order Traversal (層序遍歷)
問題描述 給定二叉樹,返回其節點值的層序遍歷(從根到葉,每層從左到右)。 例:樹 {3,9,20,#,#,15,7} → 輸出 [[3],[9,20],[15,
LeetCode 107: Binary Tree Level Order Traversal II (自底向上層序遍歷)
問題描述 給定二叉樹,返回其節點值的自底向上層序遍歷(即從葉層到根層,每層從左到右)。 例:樹 {3,9,20,#,#,15,7} → 輸出 [[15,7],[
C++ 組合生成算法:遞歸實現 C(m, r) 列舉所有組合
問題描述 給定 m 和 r (r ≤ m),列舉從 {1, 2, ..., m} 中選取 r 個元素的所有組合(無序、不重複)。例如 C(4,2) 輸出:1 2
POJ 1321 棋盤問題:DFS 回溯放置不衝突棋子
問題描述 給定 n×n 棋盤 (n ≤ 8),# 為可放區域,. 為禁區。需放置 k 個無區別棋子,任意兩子不同行不同列。求放置方案總數 C (C < 2³¹)
POJ 3278 Catch That Cow:BFS 最短路徑與優化剪枝
問題描述 農夫約翰在位置 N (0 ≤ N ≤ 100,000),奶牛在 K (0 ≤ K ≤ 100,000)。約翰每分鐘可: ① 走路:X → X-1 或
const 在 C 與 C++ 中的語義差異與底層實現機制深度解析
核心結論先行 維度C 語言C++ 語義只讀變量編譯期常量 內存分配分配存儲空間內置類型通常不分配,進符號表 取址行為有合法地址可能無地址(編譯器優化) 外部鏈
HDU 3062 Party 2-SAT 入門:夫妻參會衝突問題的強連通分量解法
問題建模 n 對夫妻 (n ≤ 1000),每對必須且只能派 1 人參會。m 對衝突關係,衝突雙方不能同時出席。判斷是否存在合法選擇使 n 人同時參會。 將每人
POJ 2488 A Knight's Journey:DFS 求騎士周遊字典序最小路徑
問題描述 在 p×q 棋盤 (1 ≤ p·q ≤ 26) 上,騎士從任意格出發,走「日」字步(8 種移動),要求恰好訪問每個格子一次(哈密頓路徑)。輸出字典序最