Codeforces 171F 反素數問題:暴力打表與預計算
Codeforces 171F - 反素數 解題報告 題目特色:題面經過凱撒密碼(字母 +10)加密,需先解密才能閱讀真實題意。解密後得知:求第 n 個「反素數
POJ 1459 Power Network 電網最大流建模詳解
POJ 1459 Power Network - 最大流經典建模 問題背景:電網包含發電廠、消費者、調度站三類節點,及傳輸線。每個發電廠有最大發電量 pmax,
LeetCode 平衡二叉樹判斷:後序遍歷遞歸求深度
LeetCode 110. 平衡二叉樹 解題報告 題目描述:給定一棵二叉樹,判斷它是否為高度平衡的二叉樹。平衡二叉樹定義為:任意節點的左右子樹深度差不超過 1。
POJ 1222 EXTENDED LIGHTS OUT 詳細解析與高斯消元法求解
POJ 1222 EXTENDED LIGHTS OUT 詳細解析 這是一道經典的「關燈遊戲」變體問題。遊戲在一個 5 行 6 列的按鈕矩陣上進行,每個按鈕對應
LeetCode Merge Two Sorted Lists:合併兩個有序鏈表遞歸與迭代解法
題目描述 合併兩個升序鏈表,返回新升序鏈表。新鏈表由原節點拼接而成(不創建新節點)。 迭代解法(推薦,空間 O(1)) 虛擬頭節點 `dummy`,尾指針 `
HDU 4381 背包變形:區間染色最大白格與最少操作數 DP 解法
問題重述 1~n 格子初始全黑。兩類操作: 1 a x:在 [1,a] 選 x 個黑格染白。 2 a x:在 [a,n] 選 x 個黑格染白。 若區間黑格不足
C++ std::bind 與 C# 委託實現柯里化:從 bind1st/bind2nd 到可變參數綁定
柯里化核心概念 柯里化:將多參數函數 `f(a,b,c)` 轉化為鏈式單參數函數 `f(a)(b)(c)`。C++ `std::bind` 實現部分應用(固定部
POJ 1004 Financial Management:十二個月平均結餘計算
題目描述 讀取 12 行輸入,每行一個正浮點數(銀行月結餘,精確到分)。計算平均值,四捨五入到分,輸出格式:`$` 開頭、保留兩位小數、換行結尾。無其他字符。
C++ 複合運算與運算子多載:Complex 類別完整範例
C++ 複合運算與運算子多載:Complex 類別完整範例 三種多載形式比較 成員函式:Complex operator+(Complex c),左運算元固
LeetCode Surrounded Regions:從邊界 BFS 標記不可翻轉區域
LeetCode Surrounded Regions:從邊界 BFS 標記不可翻轉區域 問題描述 給定 m x n 矩陣,包含 X 和 O。將所有被 X 完
HDU 4406 GPA:最大費用最大流安排複習課程
HDU 4406 GPA:最大費用最大流安排複習課程 問題描述 n 天,每天上 k 堂課,m 門科目。每科有學分 w[i] 與基礎分 score[i]。每天有
LeetCode 28 Implement strStr():子字串查找朴素演算法
LeetCode 28 Implement strStr():子字串查找朴素演算法 問題描述 實作 strStr(haystack, needle),回傳 n
LeetCode 70 Climbing Stairs:費波那契數列動態規劃
LeetCode 70 Climbing Stairs:費波那契數列動態規劃 問題描述 爬樓梯共 n 階,每步可爬 1 或 2 階。求到達頂部的不同方法數。本
POJ 1041 John's trip:字典序最小歐拉迴路
POJ 1041 Johns trip:字典序最小歐拉迴路 問題描述 無向圖可能有重邊,尋找歐拉迴路(每條邊恰用一次回到起點),且要求輸出的邊 ID 序列字典
LeetCode 56 Merge Intervals:區間合併排序法
LeetCode 56 Merge Intervals:區間合併排序法 問題描述 給定區間集合,合併所有重疊區間。例:[[1,3],[2,6],[8,10],
LeetCode 75 Sort Colors:三向切分單趟掃描 O(n) 常數空間解法
題目描述 給定陣列含 0(紅)、1(白)、2(藍),原地排序使同色相鄰,順序 0→1→2。不可用庫排序函數。進階:單趟掃描、常數空間。 方法一:計數排序(兩趟