日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

BZOJ2017[USACO 2009 Nov Silver 1.A Coin Game]——DP+博弈论

發(fā)布時間:2025/3/15 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BZOJ2017[USACO 2009 Nov Silver 1.A Coin Game]——DP+博弈论 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

題目描述

農(nóng)夫約翰的奶牛喜歡玩硬幣游戲,因此他發(fā)明了一種稱為“Xoinc”的兩人硬幣游戲。 初始時,一個有N(5 <= N <= 2,000)枚硬幣的堆棧放在地上,從堆頂數(shù)起的第I枚硬幣的幣值為C_i (1 <= C_i <= 100,000)。 開始玩游戲時,第一個玩家可以從堆頂拿走一枚或兩枚硬幣。如果第一個玩家只拿走堆頂?shù)囊幻队矌?#xff0c;那么第二個玩家可以拿走隨后的一枚或兩枚硬幣。如果第一個玩家拿走兩枚硬幣,則第二個玩家可以拿走1,2,3,或4枚硬幣。在每一輪中,當(dāng)前的玩家至少拿走一枚硬幣,至多拿走對手上一次所拿硬幣數(shù)量的兩倍。當(dāng)沒有硬幣可拿時,游戲結(jié)束。 兩個玩家都希望拿到最多錢數(shù)的硬幣。請問,當(dāng)游戲結(jié)束時,第一個玩家最多能拿多少錢呢?

輸入

第1行:1個整數(shù)N

第2..N+1行:第i+1行包含1個整數(shù)C_i

輸出

第1行:1個整數(shù)表示第1個玩家能拿走的最大錢數(shù)。

樣例輸入

5
1
3
1
7
2

樣例輸出

9

提示

樣例說明:第1個玩家先取走第1枚,第2個玩家取第2枚;第1個取走第3,4兩枚,第2個玩家取走最后1枚。

?

不要看到博弈論就心里打怵,其實只是用到一些簡單的博弈思想qwq。這道題主要還是dp,那么dp狀態(tài)怎么描述呢?首先不能確定最后取硬幣的是先手的人還是后手的人,所以可以考慮把狀態(tài)倒著推,最終答案用先手的人第一次取的狀態(tài)表示。那么就可以把狀態(tài)描述成f[i][j]表示上一個人取了j個,還剩下i個,當(dāng)前人在后續(xù)步驟中(包括當(dāng)前這次取的)能獲得的最大值,s[i]表示最后i個的價值和(就是后綴和)。假設(shè)當(dāng)前人是第一個人,他取了k個(k<=2*j),第二個人之后能獲得的最大值就是f[i-k][k],那么想讓第一個人這次及之后能獲得最大值,就要讓f[i-k][k]盡量小,那么只要枚舉k,用s[i]-min{f[i-k][k]}就是第一個人的最大值。但這樣枚舉k一定會TLE,不過可以發(fā)現(xiàn)f[i][j]和f[i][j-1]之間只差了f[i-2*j][2*j]和f[i-2*j+1][2*j-1]兩個狀態(tài),所以可以把f[i][j]先賦成f[i][j-1]再與這兩個狀態(tài)比較一下就行了,但比較前要先判斷i和這兩個數(shù)(2*j和2*j-1)之間大小關(guān)系。但最后答案是什么呢?我們并不知道先手的人第一次取了1個還是2個,那么可以假設(shè)前面有一個第0號硬幣被第二個人取走了,這樣最終結(jié)果就是f[n][1].雖然狀態(tài)是倒著推,但為了方便可以倒著讀入正著轉(zhuǎn)移.

最后附上代碼.

#include<cmath> #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; int n; int a[2010]; int s[2010]; int f[2010][2010]; int main() {scanf("%d",&n);for(int i=n;i>=1;i--){scanf("%d",&a[i]);}for(int i=1;i<=n;i++){s[i]=s[i-1]+a[i];}for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){f[i][j]=f[i][j-1];if(2*j-1<=i){f[i][j]=max(f[i][j],s[i]-f[i-2*j+1][2*j-1]);}if(2*j<=i){f[i][j]=max(f[i][j],s[i]-f[i-2*j][2*j]);}}}printf("%d",f[n][1]); }

  

轉(zhuǎn)載于:https://www.cnblogs.com/Khada-Jhin/p/9197069.html

總結(jié)

以上是生活随笔為你收集整理的BZOJ2017[USACO 2009 Nov Silver 1.A Coin Game]——DP+博弈论的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产女主播自拍 | 亚洲福利视频一区二区三区 | av免费网址在线观看 | 在线看的网站 | 国模少妇一区二区三区 | 亚洲黄色a级片 | 又紧又大又爽精品一区二区 | 成人久久久久久 | 欧洲亚洲成人 | 欧美精品在线观看一区二区 | 女人喂男人奶水做爰视频 | 免费三级av | 亚洲一区二区综合 | 亚洲免费观看高清在线观看 | 一区二区三区91 | 精品少妇人妻一区二区黑料社区 | 色94色欧美 | 精品电影在线观看 | 美女被男人c | 自拍中文字幕 | 亚洲成人自拍网 | 国产成人精品综合在线观看 | 四虎5151久久欧美毛片 | gogo人体做爰aaaa| 女人的天堂网 | 日韩中文字幕电影 | 91精品视频免费观看 | 国产精品欧美一区二区三区 | 后入内射无码人妻一区 | 91亚洲精品在线 | 91久久人澡人人添人人爽欧美 | 美女扒开内裤让男人捅 | 亚洲一区偷拍 | 校园激情av | 一级做a爰片久久毛片潮喷 天天透天天干 | 日本做受 | 欧美性受xxxx黒人xyx性爽 | 黑人一区二区三区 | 海量av资源 | 无码一区二区 | 天堂资源网| 浪漫樱花动漫在线观看免费 | 伊人久久精品一区二区三区 | 啦啦啦视频在线观看 | 国产91嫩草 | 久久久久久国产精品 | 波多野结衣福利视频 | 国产在线二区 | 久久久久综合 | 午夜免费福利视频 | 国产日产亚洲精品 | a级片在线视频 | 国产区免费 | 成人公开免费视频 | 激情国产在线 | 久久精品国产亚洲av香蕉 | 性爱免费视频 | 亚洲熟妇av一区二区三区 | 久久r这里只有精品 | 韩国电影一区 | 热久久精 | 九九99视频| 欧美少妇网 | 欧美性69| 国产成人av一区二区三区不卡 | 美女扒开腿让男生桶 | 国产精品腿扒开做爽爽爽挤奶网站 | 丰满人妻一区二区三区46 | 久久久久国产一区二区三区潘金莲 | 午夜精品三级久久久有码 | 看看黄色片 | 欧美成人另类 | 中文字幕永久视频 | 日韩av免费在线看 | 久草免费在线视频 | 中文字幕精品视频 | 亚洲一区二区三区人妻 | 自宅警备员在线观看 | 成人一级片 | 欧美jizz19性欧美 | 中文字幕亚洲精品在线观看 | 天天插天天干天天操 | 一区二区三区四区欧美 | 影音先锋中文字幕一区二区 | 久久成人人人人精品欧 | www.成人在线视频 | 在线观看免费高清在线观看 | 亚洲国产网址 | 日本不卡视频一区二区 | 亚洲精品久久久久久久久久 | 久久精品视频播放 | 泽村玲子在线 | 亚洲国产无线乱码在线观看 | 国产精品一级视频 | 亚洲我射av| 日韩中文av在线 | 青青国产精品视频 | www.色网 | 精品久久综合 |