HDU 4276:樹形 DP + 分組背包求最大寶藏值
題目大意 一棵 n 節點樹,邊有長度,節點有寶藏值。從節點 1 出發,在總時間 T 內走到節點 n,沿途收集寶藏(經過節點即可收集,重複經過不重複計算)。求最大
POJ 3067 Japan:樹狀數組計算道路交叉數
題目轉化 兩側各有城市,編號 1..n (左)、1..m (右)。k 條道路連接左城市 x 與右城市 y。道路視為平面上點 (x,y)。兩道路交叉 ⇔ 兩點 (
ZOJ 2686 Cycle Game:環狀遊戲的 P/N 位置規律判定
遊戲規則 $N$ 個頂點構成環,每條邊有非負權值(至少一條為 0)。硬幣初始放在某頂點。雙方輪流:選擇硬幣所在頂點的其中一條邊,將其權值嚴格減小(保持非負),並
ZOJ 2290 Game:費波那契尼姆遊戲完整解析
遊戲規則 一堆 N 顆石子,A 先手,可拿任意數但不全拿。 其後每手拿取數 ≤ 上一手的 2 倍,且 ≥ 1。 拿走最後一顆者勝。雙方最優策略。 核心結論
POJ 3256:SPFA 判斷多源點共同可達節點
題目大意 給定有向圖,k 個起點,求有多少節點能從所有 k 個起點同時到達。資料範圍 n,m ≤ 10000,Floyd O(n³) 會超時,需用 SPFA 多
C/C++ 函數呼叫慣例完整指南:stdcall、cdecl、fastcall、thiscall
堆疊與呼叫基礎 函數呼叫時,參數、返回位址、區域變數均存放於堆疊。Windows x86 下堆疊向低址增長,預設 1~2 MB。溢位即觸發 StackOverf
HDU 2955 Robberies:0/1 背包變體求最大搶劫金額
題目轉化 銀行搶劫問題:每家銀行有金額 v[i] 與被抓機率 p[i] 1-P 前提下,最大化搶劫總金額。將「不被抓機率」視為價值,金額視為重量,轉化為 0/1
多字串中出現次數最多的子串:暴力法與優化思路
問題定義 給定 n 個字串,找出在所有字串中總出現次數最多的子串。若有多解,取長度最長者;若仍同長,取字典序最小(原碼未處理此規則)。 暴力演算法流程 枚舉
POJ 3692 解析:匈牙利演算法求最大獨立集
題目背景 POJ 3692 給定一個二分圖,部分邊被移除,求剩餘圖中的最大團大小。利用二分圖性質,最大團等價於補圖的最大獨立集,再轉化為最小點覆蓋,由 Kőni
Ural 1471 Tree 題解:LCA 離線演算法與並查集優化
題目概述 Ural 1471 Tree 要求在一棵樹上回答多組節點間的距離查詢。給定一棵帶權無向樹,需快速計算任意兩節點間的路徑長度總和。資料範圍可能導致遞歸堆
HDU 4398 Template Library Management:貪心 + Set 模擬最遠淘汰策略
問題重述 有 $m$ 個模板槽位,需依序處理 $n$ 個模板請求 $a_1 \dots a_n$。槽位滿時需淘汰一個模板。求最少淘汰次數(即缺頁中斷數)。 最
C++ 常見資料類型轉換速查表:字串、數值、CString、Win32 類型互轉
字串與字元指標互轉 來源目標方法 LPCWSTRwchar_t*直接轉型 (wchar_t*) 或 const_cast LPCSTRchar*直接轉型
POJ 2599 A funny game:樹上 SG 遊戲與最優移動輸出
遊戲模型 給定一棵樹($N \le 1000$),兩恐怖分子輪流操作: 1. 佈雷當前機場(節點)。 2. 選一條邊飛往相鄰機場。 3. 起飛後引爆原機場,該節
POJ 3537 Crosses and Crosses:SG 函數與組合遊戲理論
遊戲規則 在 $1 \times n$ 棋盤上,雙方輪流在空格放「×」。若某步後出現連續三個 ×,該玩家獲勝。給定 $n (3 \le n \le 2000)$
HDU 4275 Color the Tree:樹的中心 + Hash 同構判斷 + 隔板法計數
問題重述 給定 $n \le 50000$ 點的樹,用 $m \le 100000$ 種顏色染色。兩種染色若可經由樹的旋轉(自同構)相互轉換,視為相同。求本質不
HDU 4272 狀態壓縮 DFS 搜尋可行解詳解
題目大意 給定長度 $n$ 的數列,判斷是否存在某種操作序列使其滿足特定條件。核心是狀態壓縮 DFS搜尋可行解,狀態用 10 位元表示近期 10 個位置的可用性
Qt 文件與目錄複製完整實現:QFile::copy 進階封裝
需求場景 在 Qt 專案中頻繁需要「複製單一檔案」與「遞歸複製整個目錄樹」,且需支援路徑分隔符統一、目標已存在時可選覆蓋、自動建立中間目錄等實務功能。Qt 內建
HDU 4392 Maximum Number Of Divisors:大數運算與 BFS 搜尋最優解
題目背景與核心挑戰 HDU 4392 Maximum Number Of Divisors 要求在給定範圍內找出擁有最多因數個數的整數。由於答案可能極大(超過