貓咪的進化

2022-07-24 05:12:14 字數 983 閱讀 6300

題目描述

對於乙隻貓咪來說,它是有九條命的。但是並不是所有的貓咪都是這樣,只有那些造化很高的貓咪才能死而復生。而且對於這樣的貓咪,如果它能夠活到第九條命,那麼它最終可以變成任何一種它想成為的動物(當然也可以繼續做貓咪啦),我們稱這樣的貓咪為貓神。現在乙隻獲得了進化機會的貓咪,受到了女神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個時刻不叫 叫一聲 叫兩聲的最大權值和。...