HDU 1072 Nightmare:BFS 狀態空間搜索含炸彈計時重置
題目大意 N,M ≤ 8 的迷宮,0 牆、1 空地、2 起點、3 終點、4 炸彈重置裝置(將計時器重置為 6)。初始計時 6,每移動一步(上下左右)耗時 1。計
LeetCode 93 Restore IP Addresses:回溯生成有效 IP 地址
題目大意 給定只含數字的字符串 s,插入三個點分割成四段,每段為 0~255 且無前導零(除非該段就是 0),返回所有合法的 IP 地址。 回溯框架 遞歸函數
POJ 1160 Post Office:郵局經典 DP + 四邊形不等式優化
題目大意 直線公路旁有 V (≤300) 個村莊(座標嚴格遞增),須在其中選 P (≤30) 個建郵局。每村最近郵局距離之和最小。輸出最小距離和。 核心觀察:
POJ 1745 Divisibility:餘數 DP 判斷能否構造整除 K 的表達式
題目大意 給定 N (≤10000) 個整數序列,在數字間插入 + 或 -,問能否使最終結果能被 K (≤100) 整除。輸出 Divisible 或 Not
HDU 1258 Sum It Up:DFS 回溯求定和組合去重輸出
題目大意 給定目標和 t 及 n (≤12) 個非遞增排序的正整數(可重複)。找出所有數字和為 t 的不同組合。每個數字使用次數不超過其在列表中出現的次數。輸出
HDU 1536 S-Nim:SG 函數解多堆受限取石子遊戲
題目大意 經典 Nim 遊戲變體:每堆石子只能取集合 S 中的數量(如 S={2,5} 只能取 2 或 5 顆)。給定多組測資,每組先給 S,再給 m 個局面(
POJ 1837 Balance:天平 DP 狀態壓縮枚舉掛鉤位置
題目大意 有一桿長度 30(中心到兩端各 15)的天平,C (≤20) 個掛鉤位置(整數座標 -15~15,非 0,負為左臂、正為右臂)。有 G (≤20) 個
HDU 5344 MZL's XOR:異或性質與線性生成數組
題目大意 給定遞推生成數組 A:A_1 = 0,A_i = (A_{i-1} * m + z) mod l,長度 n = 5×10^5。求所有 A_i + A_
UVA 11177 凸多邊形與圓相交面積:二分半徑 + 幾何分解
題目大意 給定一個凸多邊形(頂點按順/逆時針序給出)與一個圓心在原點的圓。求最小半徑 R,使圓與多邊形的相交面積 ≥ 給定值 A。n ≤ 50,多測資。 核心
POJ 2186 Popular Cows:Tarjan 強連通分量縮點找出度為零的分量
題目大意 有 N 隻牛,M 條單向關係 A → B 表示牛 A 認為牛 B 受歡迎。若牛 X 被所有牛(含自己)視為受歡迎(即從每隻牛都有路徑可達 X),則 X
HDU 4343 Interval Query:區間離散化 + 倍增 DP 求最大不相交子區間數
題目大意 給定 n ≤ 100,000 個左閉右開區間 [l, r) 及 m ≤ 100,000 次詢問 [L, R]。每次詢問問:完全包含於 [L, R] 內
POJ 1716 Integer Intervals:差分約束系統 + SPFA 求最小點集
題目大意 給定 N 個閉區間 [a, b],需選擇最少數量的整數點,使每個區間內至少包含 兩個 被選中的點。輸出最少點數。 差分約束建模 設 d[i] 為 [
HDU 3746 Cyclic Necklace:KMP 失敗函數求最小週期補字元
題目大意 給定一個字串,詢問最少需在尾端添加幾個字元,使該字串變成由 兩個完全相同的子串 串接而成(即長度為偶數且前半段等於後半段)。原題輸出為需補充的字元數。
Win32 API 視窗程式範例:從註冊類別到訊息迴圈完整解析
概述 本文提供一個最精簡的 Windows 桌面應用程式框架,展示從 WinMain 進入點、視窗類別註冊、建立視窗、顯示更新,到訊息迴圈與視窗程序 WndPr
HDU 1969 Pie:二分法求最大分割體積
題目背景與大意 生日派對上有 N 個圓柱形餡餅,高度皆為 1,半徑各異。共有 F 位朋友加上你自己,總共 F+1 人要分食。規定每人只能拿「一整塊」(可為整個餡
HDU 5352 MZL's City:最小費用最大流建模城市重建規劃
問題描述 N 個城市,M 年操作,每年最多重建 K 個城市。三類操作: 1 x:本年可重建與城市 x 連通的所有城市(直接/間接),每城市僅能重建一次。 2
UVA 11806 Cheerleaders:容斥原理與二進制枚舉計算放石子方案數
問題描述 N×M 網格放 K 個石子。要求:第一行、最後一行、第一列、最後一列每行/列至少一個石子。求方案數模 1000007。 容斥原理擴展 設全集 S 為
HDU 4371 AliceBob:博弈論與貪心構造最優策略
問題描述 Alice 和 Bob 輪流生成數列 S。 S₁ = 0 (Alice)。 S₂ = S₁ + dₖ (Bob,選某個 dₖ)。 之後每步:Sᵢ =