HDU 4528 小明捉迷藏:BFS + 視線檢測
題目大意 n × m 網格,小明從 S 出發,需在 k 步內同時「看到」E 和 D 兩個點(同行/同列且中間無障礙)。求最少步數。 狀態擴展 BFS 狀態:(
POJ 1287 Networking 最小生成樹問題詳解與雙算法實現
POJ 1287 Networking 最小生成樹問題詳解與雙算法實現 經典最小生成樹(MST)問題:給定點集和帶權邊(可能有重邊),求連通所有點的最小總權值。
HDU 4585 Shaolin 少林寺 - STL Map 應用尋找最近等級
HDU 4585 Shaolin 少林寺 - STL Map 應用尋找最近等級 本題利用 C++ STL map(紅黑樹實現)維護有序鍵值對,支持對數級別的插入
HDU 4576 Robot:圓環上機器人的概率 DP
問題描述 圓環上有 n 個點(0~n-1),機器人初始在 0。進行 m 步操作,每步給定步長 w,機器人以 0.5 概率順時針、0.5 概率逆時針移動 w 步。
HDU 4639 字符串問題解析與代碼實現
HDU 4639 字符串問題解析與代碼實現 本題要求處理字符串,統計連續 he 序列的數量,並利用斐波那契數列計算方案數,結果對 10007 取模。 題目大意
POJ 1035 拼寫檢查:編輯距離為 1 的單詞查找
題目大意 給定字典,對每個查詢詞:若在字典中輸出 correct;否則輸出所有編輯距離為 1 的字典詞(刪除/插入/替換一個字符),按字典輸入順序輸出。 編輯
POJ 1655 Balancing Act:樹的重心與遞歸求解
題目大意 給定樹,找到重心:刪除該節點後,剩餘各連通分量的最大節點數最小。輸出重心編號(若多個取最小)及該最大分量大小。 遞歸求重心 對每個節點 u,計算:
HDU 4626 博弈論:簡單觀察獲勝條件
題目大意 給定 n×m 矩陣,元素為 0/1。雙方輪流操作:選一個 1 翻轉為 0,並可選擇翻轉其右方、下方、右下方任意組合的鄰居(即對子矩陣右下角翻轉)。無法
GIS 要素捕捉算法與 C++ 實現(點、線、面選取)
概述 要素捕捉即根據屏幕點擊坐標,判斷選中哪個幾何要素(點、線、面)。核心是幾何距離計算與空間索引加速。 1. 點捕捉 計算點擊點與要素點的距離。為避免開方,
UVA 1484 Alice and Bob's Trip:樹形 DP 博弈求最優路徑權值
題目大意 根為 0 的樹,邊有權。Alice 和 Bob 從根交替向下走到葉子。Bob 先選,最大化總權值;Alice 後選,最小化總權值。最終總權值必須在 [
HDU 1004 Let the Balloon Rise —— 統計顏色出現次數最多的字符串
問題描述 多測試用例。每個用例給 N(≤1000)個氣球顏色字符串(小寫字母,長度 ≤15)。輸出出現次數最多的顏色。保證唯一。 解法 用 map 計數,遍歷
ZOJ 3630 Information —— 枚舉刪點後強連通分量最大尺寸的最小值
問題描述 給定有向圖 n ≤ 1000,刪除一個點後,求剩餘圖中強連通分量(SCC)的最大點數。找出使該最大值最小的刪除點,輸出該最小值。 算法 枚舉刪除點
HDU 4662 MU Puzzle —— 字符串變換規律與數學判斷
問題背景 源自《哥德爾、埃舍爾、巴赫》中的 MU 猜想。初始字符串 MI,允許三種變換規則。問目標串是否可達。比賽中需推導規律。 關鍵性質 M 永遠固定
POJ 2135 基礎費用流 —— 從 1 到 n 再回 1 的最短路(邊容量 1)
問題描述 有向圖,每條邊只能走一次。求從 1 到 n 再回到 1 的最短總長度。等價於從源點到匯點流量為 2 的最小費用流。 建模 原圖每條邊拆為兩條有
HDU 4666 / POJ 2926 最遠曼哈頓距離 —— STL multiset 維護極值
問題描述 動態維护一組 k 維點(k ≤ 5),支持插入、刪除、查詢最大曼哈頓距離。曼哈頓距離 |x1-y1|+...+|xk-yk| 可轉化為 2^k 種線性
POJ 4667 Building Fence —— 凸包周長包含圓弧與直線段
問題描述 給定 n 個圓和 m 個三角形,互不相交。用一條籬笆圍起所有圖形,求最短籬笆長度(凸包周長)。 解法二:幾何計算凸包 收集所有關鍵點:
sizeof 與 strlen 區別與聯系總結
核心區別 特性sizeofstrlen 性質運算符(編譯時計算)庫函數(運行時計算) 參數類型或變量char* (以 \0 結尾) 返回值對象佔用內存字節數字