• <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>

            pku 2228 Naptime 簡單DP,寫的很挫,卡常數卡過去了。。。

            題意大概描述一下
            有一只牛,在全天N小時內花B小時睡覺,然后每一個時間點都有一個休息值,假設選擇在區間[s,e]內休息,則第s個時間點不能夠獲得休息值。現在請安排這只牛的作息時間,使得他的休息值最大。
            狀態dp[i][k][2],i表示前i個小時,k表示休息了k個小時,最后一個狀態表示最后一個小時是否在休息。然后由于可以形成環(即第N個小時在休息,則第1個小時能夠獲得能量),需要2個DP。狀態轉移應該很簡單吧~具體看程序。話說這題誰有nlogn的方法?感覺n2好懸,常數還不小。。本機上跑了近1秒,用位運算、滾動數組等還有800ms,提交上去只有200ms。。看來poj的服務器很NB
            貼代碼
             1 # include <cstdio>
             2 # include <cstring>
             3 using namespace std;
             4 # define max(a,b) ((a)>(b)?(a):(b))
             5 int data[3850];
             6  int dp[2][2][3850],dp1[2][2][3850];
             7 int main()
             8 {
             9    // freopen("input.txt","r",stdin);
            10   //  freopen("output.txt","w",stdout);
            11     int n,k;
            12     scanf("%d%d",&n,&k);
            13     for(int i=0;i<n;i++)
            14         scanf("%d",data+i);
            15     memset(dp,-1,sizeof(dp));
            16     memset(dp1,-1,sizeof(dp1));
            17     dp[0][0][0]=0;
            18     dp[0][1][1]=0;
            19     dp1[0][0][0]=0;
            20     dp1[0][1][1]=data[0];
            21     int res=0;
            22     for(int i=1;i<n;i++)
            23     {
            24         memset(dp[i%2],-1,sizeof(dp[i%2]));
            25         memset(dp1[i%2],-1,sizeof(dp1[i%2]));
            26         dp[i%2][0][0]=0;
            27         for(int j=1;j<=k;j++)
            28         {
            29             if(dp[(i-1)%2][0][j]!=-1)
            30                 dp[i%2][0][j]=max(dp[i%2][0][j],dp[(i-1)%2][0][j]);
            31             if(dp[(i-1)%2][1][j]!=-1)
            32                 dp[i%2][0][j]=max(dp[i%2][0][j],dp[(i-1)%2][1][j]);
            33             if(dp[(i-1)%2][0][j-1]!=-1)
            34                 dp[i%2][1][j]=max(dp[i%2][1][j],dp[(i-1)%2][0][j-1]);
            35             if(dp[(i-1)%2][1][j-1]!=-1)
            36                 dp[i%2][1][j]=max(dp[i%2][1][j],dp[(i-1)%2][1][j-1]+data[i]);
            37             if(dp1[(i-1)%2][0][j]!=-1)
            38                 dp1[i%2][0][j]=max(dp1[i%2][0][j],dp1[(i-1)%2][0][j]);
            39             if(dp1[(i-1)%2][1][j]!=-1)
            40                 dp1[i%2][0][j]=max(dp1[i%2][0][j],dp1[(i-1)%2][1][j]);
            41             if(dp1[(i-1)%2][0][j-1]!=-1)
            42                 dp1[i%2][1][j]=max(dp1[i%2][1][j],dp1[(i-1)%2][0][j-1]);
            43             if(dp1[(i-1)%2][1][j-1]!=-1)
            44                 dp1[i%2][1][j]=max(dp1[i%2][1][j],dp1[(i-1)%2][1][j-1]+data[i]);
            45         }
            46     }
            47     res=max(max(res,dp1[(n-1)%2][1][k]),max(dp[(n-1)%2][1][k],dp[(n-1)%2][0][k]));
            48     printf("%d\n",res);
            49     return 0;
            50 }
            51 


            posted on 2010-11-07 02:48 yzhw 閱讀(374) 評論(0)  編輯 收藏 引用 所屬分類: DP

            <2011年1月>
            2627282930311
            2345678
            9101112131415
            16171819202122
            23242526272829
            303112345

            導航

            統計

            公告

            統計系統

            留言簿(1)

            隨筆分類(227)

            文章分類(2)

            OJ

            最新隨筆

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            99久久免费国产特黄| 国内精品久久久久影院薰衣草 | 久久久久久久91精品免费观看| 久久久99精品成人片中文字幕 | 久久无码AV一区二区三区| 国产成人久久精品一区二区三区 | 伊人丁香狠狠色综合久久| 久久久久久久国产免费看| 波多野结衣久久| av无码久久久久久不卡网站| 青青久久精品国产免费看| 99久久精品国产一区二区| 99久久www免费人成精品 | 东京热TOKYO综合久久精品| 国产精品久久久久久久午夜片| 色诱久久av| 久久国产精品99精品国产987| 亚洲国产成人精品久久久国产成人一区二区三区综 | 亚洲国产精品成人久久| 国产精品狼人久久久久影院 | 久久精品国产国产精品四凭| 亚洲精品国产美女久久久| 欧美激情精品久久久久久| 久久国产精品-国产精品| 亚洲欧美精品一区久久中文字幕 | 亚洲欧美国产日韩综合久久| 狠狠色丁香久久婷婷综| 精品久久久久久久久免费影院| 久久亚洲国产午夜精品理论片| 亚洲AV成人无码久久精品老人 | 国产精品激情综合久久| 久久福利青草精品资源站| 久久人人爽人人爽人人AV东京热| 久久久精品久久久久久| 国内精品久久久久久麻豆| 国产成人无码精品久久久久免费| av无码久久久久不卡免费网站| 色婷婷综合久久久中文字幕| 一本色道久久HEZYO无码| 国产aⅴ激情无码久久| 久久久久亚洲AV片无码下载蜜桃|