1. 程式人生 > >JZOJ 5377. 【NOIP2017提高A組模擬9.19】開拓

JZOJ 5377. 【NOIP2017提高A組模擬9.19】開拓

Description

Description

Input

Input

Output

Output

Sample Input

5 50 50 10
1 10
1 20
2 10
2 20
1 30

Sample Output

375.00

Data Constraint

Data Constraint

Solution

  • 本題最大的瓶頸在於“當前鑽頭能力”,我們嘗試不儲存“當前鑽頭能力”。

  • F[i] 表示前 i 個星球的最優收入。但這很明顯是不行的,因為當前鑽頭能力會影響到後面的過程。

  • 不嚴謹的說,當前鑽頭能力具有“後效性”。

  • 但是這個當前鑽頭能力對後程的影響無非就是乘上一個數值。

  • 就好像初始鑽頭能力是 w ,實際上你可以按 1 來做,最後再把 a

    ns 乘上 w

  • 正難則反F[i] 表示第 in 個星球的最優收入,且假設從第 i 個星球開始時鑽頭能力是 1

  • 轉移過程就變得簡單:

  • 如果在第 i 個星球開採,那麼第 in 個星球的初始鑽頭能力就是 1(10.01k)

  • 換句話說,就是:F[i+1](10.01k) 。所以:

    F[i]=Max{F[i+1],F[i+1](10.01k)+a[i]}
  • 對於維護型星球,大同小異,就係數和代價的正負而已。

  • 實際處理時陣列也不用,用變數儲存即可,時間複雜度 O(N)

Code

#include<cstdio>
using namespace std;
const
int N=100001; double ans; int a[N]; bool b[N]; inline int read() { int X=0,w=1; char ch=0; while(ch<'0' || ch>'9') {if(ch=='-') w=-1;ch=getchar();} while(ch>='0' && ch<='9') X=(X<<3)+(X<<1)+ch-'0',ch=getchar(); return X*w; } inline double max(double x,double y) { return
x>y?x:y; } int main() { int n=read(); double k=read(),c=read(),w=read(); k=1-0.01*k,c=1+0.01*c; for(int i=1;i<=n;i++) b[i]=read()==1,a[i]=read(); for(int i=n;i;i--) ans=max(ans,b[i]?ans*k+a[i]:ans*c-a[i]); printf("%.2lf",ans*w); return 0; }

相關推薦

JZOJ 5377. NOIP2017提高A模擬9.19開拓

Description Input Output Sample Input 5 50 50 10 1 10 1 20 2 10 2 20 1 30 Sam

JZOJ 100027. NOIP2017提高A模擬7.7表示式

JZOJ 100027. 【NOIP2017提高A組模擬7.7】表示式 題目 Description Input 一行兩個整數k,p。 Output 一行一個整數表示答案。 Sample Input 1 3 Sample Output 6 D

JZOJ 5400. NOIP2017提高A模擬10.7Repulsed

Description 小w 心裡的火焰就要被熄滅了。 簡便起見,假設小w 的內心是一棵n -1 條邊,n 個節點的樹。 現在你要在每個節點裡放一些個滅火器,每個節點可以放任意多個。 接下來每個

JZOJ 100035. NOIP2017提高A模擬7.10區間

Description Input Output Sample Input sample1: 4 2 10 5 1 1 10 sample2: 1000

JZOJ 5404. NOIP2017提高A模擬10.10Graph

Description 給定一張n個點m條邊的無向圖,每條邊連線兩個頂點,保證無重邊自環,不保證連通 你想在這張圖上進行若干次旅遊,每次旅遊可以任選一個點x作為起點,再走到一個與x 直接有邊相連的點y,再走到一個與y 直接有邊相連的點z 並結束本次旅遊 作

JZOJ5372.NOIP2017提高A模擬9.17貓鏈表+貪心+堆優化

margin targe sga gin bt5 ie8 usm shu auc x壹鼐順51比http://shequ.docin.com/txqq_cb3d1e346f 惹M3桓7O2疽http://www.docin.com/app/user/userinfo?use

jzojs 5384. NOIP2017提高A模擬9.23四維世界

Description 眾所周知,我們常感受的世界是三維的。 Polycarp突然對四維空間產生了興趣,他想對四維空間進行一些研究。但是在此之前,他必須先對三維世界瞭解透徹。 於是Polycarp決定從零維,也就是一個點,開始他的研究。我們把一個點放在三維空間中,Polycarp把這

jzoj5346NOIP2017提高A模擬9.5NYG的揹包貪心

description solution 考慮貢獻為正的,顯然花費a最少先做,考慮貢獻為負的,可以將ab調轉過來,那顯然花費最少的先做,也就是b最小的先做。 code #include<

jzoj5389NOIP2017提高A模擬9.26解夢

description DYY 很善於解夢,昨晚,他夢見自己來到了一個高度發達的國度。 眾所周知,我們現在有極為常用的三級運算,+、、^。其中,a*b=a+a+a+…+a(b 個a),a^b=a

jzoj5360NOIP2017提高A模擬9.12Shorten Diameter

description 給定一棵有n 個點的樹,現要求不斷刪點直到樹的直徑<=K,求最少需要刪除的點數。 一個點可以被刪掉當且僅當該點的度數為1。 保證樹的形態為隨機生成(請勿過度解

jzoj5350NOIP2017提高A模擬9.7陶陶摘蘋果動態規劃

description solution 題目的意思是板凳不可重疊,資料不能直接摘蘋果。對蘋果排序,對凳子按r從小到大排序。設f[i][j]表示前i個凳子,選了j個,最後一個選了i的最大貢獻,列

JZOJ 4778. NOIP2016提高A模擬9.14數列編輯器

Problem Description Input Output Sample Input 8 I 2 I -1 I 1 Q 3 L D R Q 2 Sample

JZOJ5384. NOIP2017提高A模擬9.23四維世界

Description 眾所周知,我們常感受的世界是三維的。 Polycarp突然對四維空間產生了興趣,他想對四維空間進行一些研究。但是在此之前,他必須先對三維世界瞭解透徹。 於是Polycarp決定從零維,也就是一個點,開始他的研究。我們把一個點放在三維

JZOJ5372. NOIP2017提高A模擬9.17貓 連結串列+貪心+堆優化

題意:一個長度為n的環,每個點有貢獻,取了一個就不能取他的相鄰,問取1-n/2個的最優方案是多少。 DP可能會掛,我自己試了試好像會出點問題= =畢竟是環,如果類似這種問題,不能拆環一般就不要DP。

JZOJ ANOIP2017提高A模擬7.10隨機

題目 思路 水法 正解時不可能的,這輩子都不可能的 首先,我們發現選兩個端點作為si,sj才是最優的。 所以我們可以列舉區間長度(i #include<cstdio> #include<cmath> using

JZOJ 5400NOIP2017提高A模擬10.7Repulsed

DH ---------以上初三THU/PKU大爺---- Alan_cty LYD XHM HZJ ZZ ---以下是大神%-- YMW Samjia2000 werkeytom_ftd Crazy_czy WorldWide_D Yxuan

JZOJ_100029. NOIP2017提高A模擬7.8陪審團 (Standard IO)

qsort sta begin tput 關心 關鍵字 int 最有 制度 Description 陪審團制度歷來是司法研究中的一個熱議話題,由於陪審團的成員組成會對案件最終的結果產生巨大的影響,訴訟雙方往往圍繞陪審團由哪些人組成這一議題激烈爭奪。 小 W 提出了

JZOJ 5439. NOIP2017提高A集訓10.31Calculate

題目 資料範圍 題解 直接求每個 ⌊ T

JZOJ 5455NOIP2017提高A衝刺11.6拆網線

目錄: 題目: 分析: 程式碼: 題目: 傳送門 分析: 設f[i][0]f[i][0]表示在xx的子樹中,xx沒有被選擇的情況下最多有多少對點是兩兩配對的 f[

jzoj100026. NOIP2017提高A模擬7.7圖(倍增)

100026. 【NOIP2017提高A組模擬7.7】圖 Description 有一個n個點n條邊的有向圖,每條邊為<i,f(i),w(i)>,意思是i指向f(i)的邊權為w(i)的邊,現