• <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,寫的很挫,卡常數(shù)卡過去了。。。

            題意大概描述一下
            有一只牛,在全天N小時內(nèi)花B小時睡覺,然后每一個時間點都有一個休息值,假設(shè)選擇在區(qū)間[s,e]內(nèi)休息,則第s個時間點不能夠獲得休息值。現(xiàn)在請安排這只牛的作息時間,使得他的休息值最大。
            狀態(tài)dp[i][k][2],i表示前i個小時,k表示休息了k個小時,最后一個狀態(tài)表示最后一個小時是否在休息。然后由于可以形成環(huán)(即第N個小時在休息,則第1個小時能夠獲得能量),需要2個DP。狀態(tài)轉(zhuǎn)移應(yīng)該很簡單吧~具體看程序。話說這題誰有nlogn的方法?感覺n2好懸,常數(shù)還不小。。本機上跑了近1秒,用位運算、滾動數(shù)組等還有800ms,提交上去只有200ms。。看來poj的服務(wù)器很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 閱讀(368) 評論(0)  編輯 收藏 引用 所屬分類: DP

            <2010年10月>
            262728293012
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456

            導(dǎo)航

            統(tǒng)計

            公告

            統(tǒng)計系統(tǒng)

            留言簿(1)

            隨筆分類(227)

            文章分類(2)

            OJ

            最新隨筆

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            国产午夜精品理论片久久| 热99RE久久精品这里都是精品免费 | 欧美国产成人久久精品| 亚洲国产婷婷香蕉久久久久久| 中文精品99久久国产 | 久久影视综合亚洲| 久久精品综合网| 国产精品久久久天天影视| 国产精品日韩深夜福利久久| 亚洲精品视频久久久| 久久精品国产网红主播| 亚洲国产成人久久精品99 | 伊人久久大香线蕉av不卡 | 亚洲国产精品久久| 久久精品国产亚洲av麻豆图片| 亚洲国产精品久久| 亚洲欧美日韩中文久久| 久久精品亚洲男人的天堂| 国内精品久久人妻互换| 久久久噜噜噜久久中文字幕色伊伊| 久久精品国产91久久综合麻豆自制| 免费无码国产欧美久久18| 国产亚洲精午夜久久久久久| 久久精品国产99久久无毒不卡| 久久精品极品盛宴观看| 久久久久久噜噜精品免费直播| 久久久青草青青亚洲国产免观| 一本一本久久aa综合精品| 一本大道久久香蕉成人网| 久久99国产一区二区三区| 成人a毛片久久免费播放| 国产亚洲美女精品久久久久狼| 久久久av波多野一区二区| 亚洲AV日韩精品久久久久久久| 久久人人青草97香蕉| 四虎亚洲国产成人久久精品| 天堂无码久久综合东京热| 色播久久人人爽人人爽人人片aV| 国产日韩久久免费影院| 日本国产精品久久| 18岁日韩内射颜射午夜久久成人|