BZOJ 2458: 最小三角形 - 分治算法優化枚舉
問題描述 給定平面上 N 個點,求由這些點組成的三角形的最小周長。 分治策略 參考最近點對分治思想:按 x 排序,遞歸處理左右半部,獲得當前最優周長 ans。
HDU 2059: 龜兔賽跑 - 動態規劃最短時間
問題描述 vt2),充電耗時 t。烏龜匀速 vr。求兔子最少用時,若比烏龜快輸出 Good job,rabbit! 否則 What a pity rabbit
LeetCode 41: First Missing Positive - O(n) 時間常數空間解法
問題描述 給定未排序整數數組,找出缺失的最小正整數。要求 O(n) 時間、O(1) 額外空間。例如 [1,2,0] → 3,[3,4,-1,1] → 2。 方
HDU 2058: The Sum Problem - 連續序列求和數學解法
問題描述 給定 n, m,在小於 n 的正整數中,找出所有連續序列使其和等於 m,按起始數從小到大輸出區間 [a, b]。多組數據,n=m=0 結束。 數學推
Codeforces Round #285 解題報告:A、B、C 三題
A - Contest 水題。根據題目公式分別計算 Misha 和 Vasya 的分數,比較大小輸出獲勝者名字。分數計算:max(3*a/10, a - a/2
HDU 1222: Wolf and Rabbit - 最大公約數判斷安全洞
問題描述 山上有 n 個洞(編號 0~n-1)。狼從 0 號洞開始,每隔 m 個洞鑽一次(即訪問 0, m, 2m, ... 模 n)。兔子藏在未被狼訪問的洞才
HDU 4883: TIANKENG's Restaurant - 最少椅子數差分統計
問題描述 餐廳有 n 批客人,第 i 批有 Xi 人,到達時間 STi,離開時間 EDi(格式 hh:mm)。每位客人佔一把椅子。若某批客人到達的同時另一批離開
Ural 1353: Milliard Vasya's Function - 位數和動態規劃解法
問題描述 Vasya 定義了一個名為「Vasya 函數」的數學函數:第 N 個 VF 在點 S 的值,等於從 1 到 N 之間、各位數字之和等於 S 的整數個數
Apache POI 導出 Excel 實戰指南:通用導出工具類
Apache POI 簡介 Apache POI 是 Apache 基金會開源專案,提供 Java API 操作 Microsoft Office 格式檔案。核
BZOJ 3439 Kpm 的 MC 密碼:Trie 樹 + 可持久化線段樹
題目大意 定義「kpm 串」:若字串 A 是字串 B 的後綴,則 A 稱為 B 的 kpm 串。給定一組字串,對每個字串詢問其第 k 大的 kpm 串(按編號排
POJ 1609 Tiling Up Blocks:記憶化搜尋入門
題目大意 給定 n 個二元組 (a, b),需從中找出最長序列,使得對序列中任意 i < j,滿足 ai ≤ aj 且 bi ≤ bj。輸入包含多組測試資
NOJ 1060 接蘋果:二維動態規劃解法詳解
題目背景 農夫約翰的農場有兩棵蘋果樹(編號 1 和 2),奶牛貝茜無法爬樹摘果,只能在果實掉落時接住。每分鐘兩棵樹中會有一棵掉下一顆蘋果,貝茜站在樹下必能接住。
POJ 3615 Cow Hurdles:Floyd 求最小最大跳躍高度
題目轉述 有 N 個站點(N ≤ 300),M 條有向路徑(M ≤ 25000),每條路徑有一個欄桿高度 H。牛從 A 跳到 B,只關心路徑上最高欄桿的高度。對
C++ 面試經典:手寫 String 類完整實現
核心功能點 一個合格的 String 類需正確管理動態記憶體,實現拷貝構造、移動構造、拷貝賦值、移動賦值、析構,並提供常用訪問接口。 關鍵實現細節 構造函數
POJ 3481 Double Queue:STL map 實現雙端隊列
題目要求 維護一個集合,支持三種操作:插入元素、刪除最大元素、刪除最小元素。需輸出被刪除元素的關聯值。 解法:利用 map 有序特性 C++ STL `map
HDU 3530 單調隊列尋找最長子序列
題目大意 給定一個數列,尋找最長的連續子序列,使得該子序列中最大值與最小值的差值在 [m, k] 範圍內。 解法:雙單調隊列 維護兩個單調隊列:一個單調遞增(