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

            <2010年11月>
            31123456
            78910111213
            14151617181920
            21222324252627
            2829301234
            567891011

            導航

            統計

            公告

            統計系統

            留言簿(1)

            隨筆分類(227)

            文章分類(2)

            OJ

            最新隨筆

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            国内精品久久久久国产盗摄| 久久久亚洲欧洲日产国码是AV| 热re99久久精品国99热| 亚洲国产精品无码久久久蜜芽| 久久久久av无码免费网| 97久久超碰国产精品2021| 亚洲精品乱码久久久久久不卡| 亚洲欧洲日产国码无码久久99| 色综合久久久久| 无码人妻久久一区二区三区免费| 久久99国产精品久久| 亚洲伊人久久成综合人影院| 久久成人国产精品二三区| 久久久久亚洲AV成人网人人网站| 国产精品久久久天天影视| 久久国产色av免费看| 久久国产福利免费| 久久亚洲高清观看| 久久亚洲AV成人无码国产| 人人狠狠综合久久亚洲| 好属妞这里只有精品久久| 精产国品久久一二三产区区别| 久久精品成人免费国产片小草| 99精品久久精品| 97久久超碰国产精品2021| 亚洲日韩中文无码久久| 久久久久久精品成人免费图片| 久久久WWW成人免费毛片| 久久99久久成人免费播放| 久久久久四虎国产精品| 国产亚洲综合久久系列| 午夜天堂精品久久久久| 国产亚洲美女精品久久久2020| 一级A毛片免费观看久久精品| 婷婷久久综合九色综合绿巨人| 久久99久久无码毛片一区二区| 久久免费视频观看| 国产激情久久久久影院老熟女| 办公室久久精品| 中文成人无码精品久久久不卡| 伊色综合久久之综合久久|