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

            最新隨筆

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            色综合久久综精品| 精品久久人人妻人人做精品| 日本强好片久久久久久AAA| 久久精品亚洲AV久久久无码| 99久久精品免费看国产一区二区三区| 久久强奷乱码老熟女网站 | 国产精品成人无码久久久久久| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 色综合久久中文综合网| 久久一区二区三区免费| 国产综合久久久久| 久久婷婷午色综合夜啪| 久久精品国产精品青草app| 无码任你躁久久久久久| 91久久精一区二区三区大全| 无码国内精品久久人妻麻豆按摩| 精品蜜臀久久久久99网站| 色婷婷噜噜久久国产精品12p| 久久人妻少妇嫩草AV无码专区 | 久久久久亚洲精品男人的天堂| 亚洲中文字幕久久精品无码APP| 91精品国产91热久久久久福利| 麻豆精品久久久久久久99蜜桃| 久久午夜电影网| 97久久久久人妻精品专区| 亚洲伊人久久成综合人影院| 精品国产热久久久福利| 狠狠色丁香婷综合久久| 久久久精品人妻一区二区三区蜜桃| 欧美无乱码久久久免费午夜一区二区三区中文字幕 | 国产精品久久毛片完整版| 中文国产成人精品久久不卡| 久久免费视频1| 亚洲午夜无码AV毛片久久| 久久久久黑人强伦姧人妻| 91久久福利国产成人精品| 久久免费高清视频| 国产精品99久久久久久宅男| 国产成人精品久久亚洲| 亚洲成色999久久网站| 91久久香蕉国产熟女线看|