題目背景
小奇要開採一些礦物,它駕駛著一台帶有鑽頭(初始能力值 w)的飛船,按既定路線依次飛過喵星系的 n 個星球。
問題描述
星球分為 2 類:資源型和維修型。
1.資源型:含礦物質量 a[i],若選擇開採,則得到 a[
i]∗p
的金錢,之後鑽頭損耗 k%,即p=
p∗(1
−0.01k)
2.維修型:維護費用 b[i],若選擇維修,則支付 b[
i]∗p
的金錢,之後鑽頭修復c%,即 p=
p∗(1
+0.01c)
(p 為鑽頭當前能力值)
注:維修後鑽頭的能力值可以超過初始值請你幫它決策最大化這個收入
輸入格式
第一行 4 個整數 n,k,c,w。
以下 n 行,每行 2 個整數 type,x。
type 為 1 則代表其為資源型星球,x 為其礦物質含量 a[i];
type 為 2 則代表其為維修型星球,x 為其維護費用 b[i];
輸出格式
輸出一行乙個實數(保留兩位小數),表示要求的結果。
樣例輸入
5 50 50 10樣例輸出110
120
210
220
130
375.00資料範圍
對於 30%的資料 n<=100
對於 50%的資料 n<=1000,k=100
對於 100%的資料 n<=100000,0<=k,c,w,a[i],b[i]<=100
保證答案不超過 109
題解上的思路:可以發現,當前的決策只對後面的開採有影響,且剩餘耐久度與之後的開採收益成正比,如果倒著考慮這個問題,得出i-n的星球1點耐久度所能獲得的最大收益,從後往前dp,得出最大值最後乘w就是答案
神奇的dp,考試時想不到啊
**超短的
#include
#include
using namespace std;
const int maxn=100001;
int n,w,t[maxn],a[maxn];
double k,c,ans;
int main()
小奇挖礦 解題報告
小奇挖礦 題目背景 小奇要開採一些礦物,它駕駛著一台帶有鑽頭 初始能力值w 的飛船,按既定路線依次飛過喵星系的n個星球。問題描述 星球分為2類 資源型和維修型。1.資源型 含礦物質量a i 若選擇開採,則得到a i p的金錢,之後鑽頭損耗k 即p p 1 0.01k 2.維修型 維護費用b i 若選...
小奇挖礦 2 題解
小奇挖礦 2 題目 題目背景 小奇飛船的鑽頭開啟了無限耐久 精準採集模式!這次它要將原礦運到泛光之源的礦石交易市場,以便為飛船公升級無限非概率引擎。問題描述 現在有m 1個星球,從左到右標號為0到m,小奇最初在0號星球。有n處礦體,第i處礦體有ai單位原礦,在第bi個星球上。由於飛船使用的是老式的跳...
BZOJ4711 小奇挖礦
題目背景 小奇在喵星系使用了無限非概率驅動的採礦機,以至於在所有星球上都採出了一些礦石,現在它準備建一些礦石倉 庫並把礦石運到各個倉庫裡。問題描述 喵星系有n個星球,標號為1到n,星球以及星球間的航線形成一棵樹。所有星球間的雙向航線的長度都為1。小奇要 在若干個星球建礦石倉庫,設立每個倉庫的費用為k...