1. 程式人生 > >【奇妙的DP】開拓

【奇妙的DP】開拓

收入 一個 題目 描述 幫助 資源 維護 bernard 表示

題目描述
Bernard駕駛著一臺帶有鉆頭(初始能力值 w)的飛船,依次飛過 n 個星球。
星球分為 2 類:資源型和維修型。(p 為鉆頭當前能力值) 1.資源型:含礦物質量 a[i],若選擇開采,則得到 a[i]*p 的金錢,之後鉆頭損耗 k%, 即 p=p*(1-0.01k) 2.維修型:維護費用 b[i],若選擇維修,則支付 b[i]*p 的金錢,之後鉆頭修復 c%,即 p=p*(1+0.01c) 註:維修後鉆頭的能力值可以超過初始值(你可以認為是翻修+升級)
請你幫助作為艦長的Bernard仔細抉擇以最大化收入。
輸入格式
第一行 4 個整數 n,k,c,w。 以下 n 行,每行 2 個整數 type,x。 type 為 1 則代表其為資源型星球,x 為其礦物質含量 a[i]; type 為 2 則代表其為維修型星球,x 為其維護費用 b[i];
輸出格式
一個實數(保留 2 位小數),表示最大的收入。
輸入樣例
5 50 50 10 1 10 1 20 2 10 2 20 1 30
輸出樣例
375.00
數據規模與約定
對於 30%的數據 n ≤ 100 另有 20%的數據 n ≤ 1000;k=100
對於 100%的數據 n ≤ 100000; 0 ≤ k,c,w,a[i],b[i] ≤ 100;保證答案不超過 10^9

【奇妙的DP】開拓