青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

[USACO 09NOV] silver xoinc [dp]

Posted on 2009-11-12 00:20 rikisand 閱讀(522) 評論(0)  編輯 收藏 引用 所屬分類: AlgorithmUSACO

周六第一次做usaco玩,bronze的輕松切掉,然后申請promote,下午批準,話說rob 效率好高啊~ 于是繼續做silver 就遇到這個題- -!糾結了半天放棄····知道是dp 也考慮了方法就是 理不清楚;不知道是不是一天沒吃飯的緣故·····

今天題解出來了~ 先看了大概思路 然后自己寫出來了~

題目:

Farmer John's cows like to play coin games so FJ has invented with
a new two-player coin game called Xoinc for them.

Initially a stack of N (5 <= N <= 2,000) coins sits on the ground;
coin i from the top has integer value C_i (1 <= C_i <= 100,000).
The first player starts the game by taking the top one or two coins
(C_1 and maybe C_2) from the stack. If the first player takes just
the top coin, the second player may take the following one or two
coins in the next turn. If the first player takes two coins then
the second player may take the top one, two, three or four coins
from the stack. In each turn, the current player must take at least
one coin and at most two times the amount of coins last taken by
the opposing player. The game is over when there are no more coins
to take.

Afterwards, they can use the value of the coins they have taken
from the stack to buy treats from FJ, so naturally, their purpose
in the game is to maximize the total value of the coins they take.
Assuming the second player plays optimally to maximize his own
winnings, what is the highest total value that the first player can
have when the game is over?

MEMORY LIMIT: 20 MB

PROBLEM NAME: xoinc

INPUT FORMAT:

* Line 1: A single integer: N

* Lines 2..N+1: Line i+1 contains a single integer: C_i

SAMPLE INPUT (file xoinc.in):

5
1
3
1
7
2
簡單來說就是兩個人輪流取coins,每個人每次取得個數為1- 2*n;n為上一輪對方取得數目,
求兩個人都是用最佳策略,先取得那個家伙最多能拿到多少硬幣。貌似可以算是簡單博弈論的思想
思路:
        coins[1···N] 從下到上 sum[1···N] 剩下 i個的和
        找到無后效性的子問題??紤]在還剩下p個錢幣時候的情況,此時可以拿k個錢
由于條件,k的大小受上一輪拿的個數i的限制 ,所以我們要加上一個變量i。得到
dp[p][i]這個子問題。那么容易得到
dp[p][i]=max(1=<k<=i*2){SuM(p to p-k+1)+SuM(p-k to 1)-dp[p-k][k]}
            =max(1=<k<=i*2){sum[p]-dp[p-k][k]}
按照這個可以得到一個O(N^3)的算法

oidsolve(){
  
for(inti=1;i<=N;i++)
//剩下i個
       
for(intj=1;j<=N;j++)
//上一人拿了j 個
           
for(intk=1;k<=j*2&&i-k>=0
;k++){
                dp[i][j]=max(dp[i][j],sum[
1]-sum[i+1
]-dp[i-k][k]);
            }
    ret=dp[N][
1
];
}

 三重遞歸 ,最多可以過500的數據量  觀察可以得出 dp[p][j] 和 dp[p][j+1] 的計算有很多的重疊
因為 上次拿了j+1 則可以比 dp[p][j] 多拿 2 個 

然后,由于考慮j的范圍 應該為 N-i+1

這樣得到了最終代碼:

scanf("%d",&N);
for(int i=1;i<=N;i++)    scanf("%d",coins+i);//{fin>>coins[i]; }
sum[0]=0;
for(int i=1;i<=N;i++)     sum[i]=sum[i-1]+coins[N-i+1]; 
for(int i=1;i<=N;i++)        //剩下i個
for(int j=1;j<= N-i +1;j++){ // 上次拿了j個
if(dp[i][j]<dp[i][j-1])dp[i][j]=dp[i][j-1];
if(2*j-1<=i&&dp[i][j]<sum[i]-dp[i-2*j+1][2*j-1]) dp[i][j]=sum[i]-dp[i-2*j+1][2*j-1];
if(2*j<=i&&dp[i][j]<sum[i]-dp[i-2*j][2*j]) dp[i][j]= sum[i]-dp[i-2*j][2*j];
}
printf("%d\n",dp[N][1]);

很晚了 ,先寫這么多 ,有空把bronze的寫了

3個月后注:事實證明,當時么有時間 ~以后更沒有時間 ~~~ hoho`````````~~~~~~~``````````

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            一区二区三区蜜桃网| 亚洲第一主播视频| 午夜精品免费在线| 中国成人亚色综合网站| 国产精品久久网| 久久aⅴ乱码一区二区三区| 亚洲免费婷婷| 在线观看中文字幕亚洲| 亚洲人精品午夜| 欧美色图五月天| 久久久精品性| 欧美大片一区| 欧美在线观看网站| 久久婷婷成人综合色| 亚洲精品女人| 亚洲视频导航| 在线不卡亚洲| 一区二区三区日韩欧美精品| 国产亚洲欧洲997久久综合| 看片网站欧美日韩| 欧美日韩国产一级| 久久久久久久综合色一本| 欧美成人视屏| 欧美综合国产精品久久丁香| 久久久免费av| 亚洲欧美日韩成人| 蜜臀av国产精品久久久久| 亚洲女人天堂av| 美女精品视频一区| 久久激情网站| 欧美日韩美女一区二区| 久久综合久久久| 国产精品麻豆成人av电影艾秋| 蜜臀91精品一区二区三区| 国产精品ⅴa在线观看h| 欧美成人一二三| 国产伦精品一区二区三区在线观看| 欧美激情精品| 国产无遮挡一区二区三区毛片日本| 亚洲国产精品一区二区第四页av | 欧美va亚洲va香蕉在线| 欧美视频精品一区| 欧美a级片网| 国产一区二区三区在线观看精品| 亚洲人成网站在线播| 在线免费不卡视频| 亚洲欧美日韩高清| 亚洲一区国产| 欧美人交a欧美精品| 蜜臀99久久精品久久久久久软件 | 香蕉乱码成人久久天堂爱免费| 亚洲激情欧美| 老鸭窝91久久精品色噜噜导演| 欧美制服丝袜| 国产欧美一区二区精品秋霞影院| 日韩亚洲欧美成人一区| 亚洲精品欧美| 欧美黑人国产人伦爽爽爽| 老司机免费视频一区二区三区 | 欧美日韩一区二区免费在线观看| 欧美电影电视剧在线观看| 伊人成年综合电影网| 欧美一区二区三区免费看| 久久精品99久久香蕉国产色戒| 国产精品久久91| 在线视频中文亚洲| 亚洲天堂免费观看| 欧美视频在线观看视频极品| 99re这里只有精品6| 一区二区三区久久网| 欧美看片网站| 99精品视频免费在线观看| 一本色道久久综合一区 | 你懂的国产精品永久在线| 欧美电影免费观看高清| 亚洲精品国产系列| 欧美日韩国产三级| 亚洲一区久久| 久久久人成影片一区二区三区观看 | 国产小视频国产精品| 久久国产精品99国产精| 男同欧美伦乱| 一区二区冒白浆视频| 国产精品美女久久久久久免费| 99精品久久久| 欧美在线视频观看免费网站| 伊甸园精品99久久久久久| 男男成人高潮片免费网站| 亚洲激情国产| 欧美一区二区黄色| 亚洲丁香婷深爱综合| 欧美久久九九| 亚洲欧美日韩中文在线制服| 欧美成人国产va精品日本一级| 99国产精品久久久久久久| 国产精品毛片a∨一区二区三区|国 | 亚洲免费福利视频| 国产精品激情偷乱一区二区∴| 亚洲欧美日韩直播| 91久久精品视频| 久久av一区二区三区| 亚洲激情综合| 国产日韩在线亚洲字幕中文| 欧美成人午夜免费视在线看片 | 久久婷婷综合激情| 日韩视频永久免费| 国产一区二区三区久久 | 免费视频久久| 欧美一区二区日韩| 日韩视频免费观看| 免费亚洲电影在线观看| 午夜综合激情| 日韩亚洲国产精品| 亚洲成人在线视频网站| 国产精品久久久久久久app| 蜜桃av久久久亚洲精品| 欧美一区二区三区在线| 一二三区精品福利视频| 亚洲高清不卡在线观看| 久久精品国产96久久久香蕉| 一区二区三区四区蜜桃| 在线观看视频免费一区二区三区| 国产精品一区二区三区乱码| 欧美日韩成人精品| 欧美成人精品不卡视频在线观看| 久久不射2019中文字幕| 亚洲午夜精品国产| 99精品视频一区| 亚洲国产日韩美| 欧美激情导航| 欧美xart系列高清| 久久综合色播五月| 久久久www成人免费毛片麻豆| 午夜精品久久久久久久久久久久| 亚洲视频在线免费观看| 日韩午夜中文字幕| 99亚洲视频| 夜夜嗨av一区二区三区中文字幕 | 亚洲欧洲另类国产综合| 亚洲大胆av| 欧美激情第五页| 欧美黄色aa电影| 亚洲电影在线看| 最新国产成人在线观看| 亚洲人成啪啪网站| 日韩视频中文字幕| 国产在线高清精品| 国产一区二区三区久久| 国产丝袜美腿一区二区三区| 国产亚洲成av人片在线观看桃| 国产精品免费观看在线| 国产精品久久久久久久久果冻传媒 | 国产伦精品一区二区| 国产日产欧美精品| 国产日韩欧美中文在线播放| 国模私拍一区二区三区| 黄色在线一区| 亚洲人永久免费| 亚洲网站在线播放| 欧美一区二区性| 开元免费观看欧美电视剧网站| 母乳一区在线观看| 日韩视频中文字幕| 香蕉久久国产| 免费欧美电影| 欧美日韩亚洲综合| 国产欧美日韩伦理| 亚洲国产一区二区精品专区| 亚洲无限av看| 久久久99精品免费观看不卡| 欧美国产先锋| 9久re热视频在线精品| 欧美一区在线看| 欧美成人亚洲| 国产精品欧美在线| 亚洲国产综合在线看不卡| 亚洲免费网址| 欧美福利视频在线观看| 中文在线资源观看视频网站免费不卡| 欧美一级大片在线观看| 欧美黄色影院| 黑丝一区二区三区| 亚洲砖区区免费| 欧美成人在线免费观看| 亚洲一区在线观看免费观看电影高清| 久久久久久久久岛国免费| 欧美亚州韩日在线看免费版国语版| 精品av久久707| 欧美亚洲一区二区在线| 最新国产の精品合集bt伙计| 久久成人这里只有精品| 欧美午夜影院| 亚洲伦理精品| 欧美成人综合| 欧美一区二区视频网站| 欧美亚一区二区| 一区二区三区视频在线看| 欧美成人资源网| 久久黄色影院| 国产日韩一区二区三区|