HDOJ 2375 狀態 DP:Pizza 優惠組合最小單價
問題描述 共 15 種 Pizza,用二進制狀態表示選擇集合(2¹⁵-1 = 32767)。dp[mask] 表示選擇該狀態下的最小總花費。arc[y][x]
C++ 類訪問控制總結:public / protected / private
一、三種訪問標號的訪問範圍 訪問者privateprotectedpublic 本類成員函數✓✓✓ 友元函數✓✓✓ 派生類成員函數✗✓✓ 類的對象✗✗✓ 友
HDU 2665 / POJ 2104 劃分樹(主席樹)求區間第 k 小
問題差異 POJ 2104 保證數字互不相同;HDU 2665 無此限制,劃分左右區間時需處理相同值的分配。 核心思想 離散化數值,建立劃分樹(類似主席樹)。
HDU 4127 Flood-it!:IDA* 搜尋解決顏色填充遊戲
問題描述 n×n 方格遊戲,每次將左上角連通塊染色(四向相鄰且同色)。求最少步數使全盤同色。2011 年福州賽區題目。 解法:IDA* (Iterative
POJ 3342 Party at Hali-Bula:樹形 DP 最大獨立集與唯一性判斷
問題描述 公司派對,員工之間有上下級關係(樹結構)。不想讓直接上下級同時參加。求最大參加人數,並判斷最優解是否唯一。 動態規劃狀態定義 dp[u][1]:選
6410 WinCE IROM SD 卡啟動升級移植實戰回顧
背景 需更換 Nand Flash(從 2G 升級 4G),廠商提供的 IROM 僅支援 2G,必須自行移植支援 4G MLC Nand 的 IROM。 IR
C++ char 陣列、指標與 strcpy 細節深度觀察
1. 字符陣列宣告與初始化 宣告時 [] 大小須包含結束符 \0: char p[5] = dddd; // 實際:d,d,d,d,\0 char p[5]
費波那契數列與爬樓梯問題:遞歸、迭代與矩陣快速冪 O(log n) 解法
費波那契數列定義 f(0) = 0 f(1) = 1 f(n) = f(n-1) + f(n-2) (n ≥ 2) 基本解法 遞歸法 O(2^n) [c
Codeforces 143C To Add or Not to Add:排序 + 雙指針優化操作次數
問題描述 給定 n 個整數陣列,可執行 ≤ k 次操作:任選元素 +1(可重複操作同一元素)。求操作後某數字出現次數最大值;若有多解,輸出最小的該數字。 範例:
UVa 532 - Dungeon Master:三維迷宮 BFS 最短路徑
問題描述 你被困在三維地牢中,需找到最快出路。地牢由單位立方體組成,可能填滿岩石。移動一格(東西南北上下)耗時 1 分鐘,不可對角移動,迷宮四周為實心岩石。 輸
HDU-4193 Non-negative Partial Sums:單調隊列解環狀數列前綴和問題
問題描述 給定數列,進行環狀移動,問有多少種移動方式使所有前綴和 ≥ 0。 解題思路 將數列複製一份拼接:a1 a2 ... an a1 a2 ... an,
HUD-4419 Colourful Rectangle:線段樹 + 掃描線 + 離散化求矩形面積並
問題描述 分別用 R、G、B 三種顏色覆蓋平面區域,不同顏色重疊產生新顏色:RG、RB、BG、RGB。求最終 7 種顏色(R、G、B、RG、RB、BG、RGB)
C++ 實現 Windows 目錄遍歷:全程 UTF-16 處理長路徑與 Unicode 檔名
背景動機 早期常用 MFC CFileDialog::GetNextPathName() 遍歷目錄,但 MFC 過舊且需動態連結。.NET Directory/
UVA 4996 Scientific Experiment:雞蛋硬度測試的動態規劃解法
問題描述 評估雞蛋硬度的方法是測量雞蛋從多高樓層掉下會碎。若從第 i 樓掉下會碎,而 i-1 樓不會,則雞蛋硬度為 i。高 n 樓的實驗樓內有雞蛋販賣,每顆 X
C++ 指向 const 物件的指標與 const 指標深度解析
指向 const 物件的指標 在 C++ 中,我們可以透過指標修改其所指物件的值。但若指標指向的是 const 物件,則不允許使用該指標改變所指 const 值