TYVJ P1062 合并傻子 Label:环状dp
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                TYVJ P1062 合并傻子 Label:环状dp
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                背景
從前有一堆傻子,鐘某人要合并他們~但是,合并傻子是要掉RP的......
描述
在一個園形操場的四周站著N個傻子,現要將傻子有次序地合并成一堆.規定每次只能選相鄰的2個傻子合并成新的一個傻子,并將新的一個傻子的RP數,記為該次合并的RP數。(合并方法與NOI1999石子合并(本題庫的沙子合并)相同,請大家參考上題合并方法)
將N個傻子合并成1個的最小RP數為RPn和最大RP數為RPx.
鐘某人要合并他們,鐘某人現在的RP為m,但是他要小心....
if?m>RPx?then?鐘某人能很輕松的合并他們,并說出?‘It?is?easy’
else?if?m<RPn?鐘某人很擔心,因為他必然由此變成一個沙茶,這時他要說:‘I?am..Sha...X’(以便提升RP)
else???鐘某人仍然擔心自己可能成為一個沙茶,所以他要金蟬脫殼說:‘I?will?go?to?play?WarIII’
輸入格式
數據的第1行試正整數n和m(1≤N≤100,m在longint范圍之內)表示有N個傻子.第2行有N個數,分別表示合并每個傻子的所掉的RP數輸出格式
輸出文件僅一行包含一個句子表示鐘某人說的話。測試樣例1
輸入
4 -9999?4 4 5 9
輸出
I am..Sha...X備注
傻子+傻子=?代碼
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 #define INF 1<<30 6 using namespace std; 7 long long x,sum[1005],fmax[1005][1005],fmin[1005][1005],N,m; 8 9 int main(){ 10 scanf("%lld%lld",&N,&m); 11 for(int i=1;i<=N;i++){ 12 scanf("%d",&x); 13 sum[i]=sum[i-1]+x; 14 } 15 for(int i=N+1;i<=2*N;i++){ 16 sum[i]=sum[i-N]+sum[N]; 17 } 18 for(int len=1;len<N;len++){ 19 for(int begin=0;begin<=2*N-len;begin++){ 20 int end=begin+len; 21 fmin[begin][end]=INF; 22 fmax[begin][end]=-INF; 23 for(int k=begin;k<end;k++){ 24 fmin[begin][end]=min(fmin[begin][end],fmin[begin][k]+ fmin[k+1][end] + sum[end]
- (begin>0?sum[begin-1]:0)); 25 fmax[begin][end]=max(fmax[begin][end],fmax[begin][k]
+ fmax[k+1][end] + sum[end]
- (begin>0?sum[begin-1]:0)); 26 } 27 } 28 } 29 long long rpx=-INF,rpn=INF; 30 for(int i=1;i<=N;i++){ 31 rpx=max(rpx,fmax[i][i+N-1]); 32 rpn=min(rpn,fmin[i][i+N-1]); 33 } 34 if(m>rpx) puts("It is easy"); 35 else if(m<rpn) puts("I am..Sha...X"); 36 else puts("I will go to play WarIII"); 37 38 39 return 0; 40 }
25 26三目運算符一定要加括號,否則有不知名的錯誤
轉載于:https://www.cnblogs.com/radiumlrb/p/5806193.html
總結
以上是生活随笔為你收集整理的TYVJ P1062 合并傻子 Label:环状dp的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        