題目描述
對於乙隻貓咪來說,它是有九條命的。但是並不是所有的貓咪都是這樣,只有那些造化很高的貓咪才能死而復生。而且對於這樣的貓咪,如果它能夠活到第九條命,那麼它最終可以變成任何一種它想成為的動物(當然也可以繼續做貓咪啦),我們稱這樣的貓咪為貓神。現在乙隻獲得了進化機會的貓咪,受到了女神snowharmony的考驗。
它擁有t個單位的時間,在每個單位時間裡,它可以選擇沉默、叫一聲「喵」、或者叫兩聲「喵喵」。對於每個單位時間,均有乙個實數v[i],貓咪叫一聲可獲得v[i]的進化量,叫兩聲可以獲得(v[i])^2的進化量,然而它在某個單位時間如果叫了兩聲,下一單位時間必須保持沉默來休息。
女神snowharmony要求它以一定的方式叫,只有它最終獲得了最大的進化量,它才能進化為貓神,從而變為它想成為的動物——人族zsw95。
請你幫助它計算最大進化量,使他進化為為貓神zsw95。
輸入
第一行乙個整數t。
第二行,t個實數v[i]。
輸出最大的進化量,保留四位小數。
輸入樣例
39 2 1
輸出樣例
82.0000
說明1<=t<=800000,-255.00<=v[i]<=255.00
計算結果不超過maxlongint..
....
.程式:
#include#include#include#includeusing namespace std;
int t;
double f[800010][3],v[800010];
template inline double readr()
int main()
double ans;
printf("%0.4lf",max(max(f[t][0],f[t][1]),f[t][2]));
return 0;
}
DP 貓咪的進化
有n個實數,每乙個實數可以選,可以不選,也可以選擇它的平方,但如果選擇了它的平方,就不能選擇下乙個數或下乙個數的平方,求選出來的數的和最大是多少 對於乙隻貓咪來說,它是有九條命的。但是並不是所有的貓咪都是這樣,只有那些造化很高的貓咪才能死而復生。而且對於這樣的貓咪,如果它能夠活到第九條命,那麼它最終...
SSLOJ 1296 貓咪的進化
傳送門 在每個單位時間內,有三種選擇,求如何組合能使得獲得的進化量 隨便打打dpdp dp,但畢竟是野雞ojoj oj上的題,以至於那麼小的n nn也要開個快讀 include include include include include include include include inclu...
newSSLOJ1296 貓咪的進化 dp
n個時刻中每乙個時刻可以不叫,叫一聲或者叫兩聲。如果在第i i個時刻叫一聲會得到aia i 的權值,叫兩聲得到ai2 ai 2 的權值,但是下乙個時刻就不可以叫。求最大權值和。很裸的dpd p,設f i 0 1 2 f i 0 1 2 分別表示這只貓在第i i個時刻不叫 叫一聲 叫兩聲的最大權值和。...