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

            最新隨筆

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            久久久久亚洲AV无码专区首JN | 国产亚洲美女精品久久久2020| 久久久久一本毛久久久| 久久久久久久女国产乱让韩| 亚洲综合伊人久久综合| 久久精品国产91久久综合麻豆自制| 香蕉久久夜色精品国产小说| 热久久国产欧美一区二区精品| 亚洲AV日韩精品久久久久久| 情人伊人久久综合亚洲| 一本色道久久综合狠狠躁| 99久久免费国产特黄| 亚洲成av人片不卡无码久久| AV色综合久久天堂AV色综合在| 久久精品免费网站网| 99精品国产在热久久无毒不卡| 久久久国产视频| 久久久久亚洲精品男人的天堂| 狠狠干狠狠久久| 人妻久久久一区二区三区| 精品久久久一二三区| 狠狠久久综合伊人不卡| 久久精品人人做人人爽电影蜜月| 国产精品中文久久久久久久| 99久久精品免费看国产| 国产精品福利一区二区久久| 亚洲国产精品无码久久久蜜芽 | 日本久久久久久久久久| 狠狠久久亚洲欧美专区| 日本欧美久久久久免费播放网| 女人高潮久久久叫人喷水| 久久一区二区三区99| yellow中文字幕久久网| 香蕉久久一区二区不卡无毒影院| 亚洲精品国精品久久99热一| 久久久久亚洲av综合波多野结衣 | 精品免费久久久久国产一区| 久久精品国产99久久无毒不卡| 亚洲精品高清国产一线久久| 99久久99久久精品国产片果冻| 久久精品国产清自在天天线|