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

            ACM___________________________

            ______________白白の屋
            posts - 182, comments - 102, trackbacks - 0, articles - 0
            <2010年8月>
            25262728293031
            1234567
            891011121314
            15161718192021
            22232425262728
            2930311234

            常用鏈接

            留言簿(24)

            隨筆分類(332)

            隨筆檔案(182)

            FRIENDS

            搜索

            積分與排名

            最新隨筆

            最新評論

            閱讀排行榜

            評論排行榜

            HDOJ HDU 1176 免費餡餅 ACM 1176 IN HDU

            Posted on 2010-08-05 14:02 MiYu 閱讀(703) 評論(0)  編輯 收藏 引用 所屬分類: C/C++ACM ( DP )

            //MiYu原創(chuàng), 轉帖請注明 : 轉載自 ______________白白の屋

            題目地址: 
                     http://acm.hdu.edu.cn/showproblem.php?pid=1176
            題目描述:
                     都說天上不會掉餡餅,但有一天gameboy正走在回家的小徑上,忽然天上掉下大把大把的餡餅。說來gameboy的人品實在是太好了,這餡餅別處都不掉,就掉落在他身旁的10米范圍內(nèi)。餡餅如果掉在了地上當然就不能吃了,所以gameboy馬上卸下身上的背包去接。但由于小徑兩側都不能站人,所以他只能在小徑上接。由于gameboy平時老呆在房間里玩游戲,雖然在游戲中是個身手敏捷的高手,但在現(xiàn)實中運動神經(jīng)特別遲鈍,每秒種只有在移動不超過一米的范圍內(nèi)接住墜落的餡餅。現(xiàn)在給這條小徑如圖標上坐標.
            為了使問題簡化,假設在接下來的一段時間里,餡餅都掉落在0-10這11個位置。開始時gameboy站在5這個位置,因此在第一秒,他只能接到4,5,6這三個位置中期中一個位置上的餡餅。問gameboy最多可能接到多少個餡餅?(假設他的背包可以容納無窮多個餡餅)

            很簡單的一道 DP 題目, 初看起來似乎很難, 但是自習分析,會發(fā)現(xiàn) , 這其實就是

                                                      數(shù)塔 

                                             的一道變形題!!!!  
            狀態(tài)轉移方程 :
             

            pea[i-1][j] =  pea[i-1][j]  + max (   pea[i][j-1],  pea[i][j] ,  pea[i][j+1] ) ;

            下面照例是貼代碼 :
            //MiYu原創(chuàng), 轉帖請注明 : 轉載自 ______________白白の屋

            #include 
            <iostream>
            using std::max;
            const int MAX_NUM = 100002;
            int pea[MAX_NUM][11];
            void setZero ( int t )
            {
                 
            for ( int i = 0; i <= t; ++i )
                 {
                      
            for ( int j = 0; j != 11++ j )
                      {
                          pea[i][j] 
            = 0;
                      }
                 }
            }
            int main ()
            {
                
            int N,temp = MAX_NUM;
                
            while ( scanf ("%d",&N), N != 0 )
                {
                      setZero ( temp );
                      
            int pos,sec;
                      
            int maxSec = 0;
                      
            for ( int i = 0; i != N; ++i )
                      {
                           scanf ( 
            "%d%d",&pos,&sec ) ;
                           pea[sec][pos] 
            ++ ;
                           
            if ( maxSec < sec )
                           {
                                maxSec 
            = sec;
                           }
                      } 
                      temp 
            = maxSec;
                     
            for ( int i = maxSec; i != 0  ; -- i )
                     {
                          
            for ( int j = 0; j != 11++ j )
                          {
                               
            if ( j == 0 )
                               {
                                    pea[i
            -1][j] += max ( pea[i][0] , pea[i][1] );
                               }
                               
            else if ( j == 10 ) 
                               {
                                    pea[i
            -1][j] += max ( pea[i][9], pea[i][10] );  
                               }
                               
            else
                               {
                                    pea[i
            -1][j] += max ( max ( pea[i][j-1], pea[i][j] ), pea[i][j+1] );
                               }   
                         }
                     }    
                     printf ( 
            "%d\n",pea[0][5] );  
                }
                
            return 0
            }

            亚洲国产精品嫩草影院久久| 国产精品久久久福利| 精品人妻伦一二三区久久| 94久久国产乱子伦精品免费 | 亚洲伊人久久成综合人影院| 一极黄色视频久久网站| 国产成年无码久久久久毛片 | 无码专区久久综合久中文字幕 | 久久综合久久综合亚洲| 国产69精品久久久久9999APGF| 久久无码人妻一区二区三区午夜| 久久精品国产精品国产精品污| 亚洲国产香蕉人人爽成AV片久久| 色妞色综合久久夜夜| 久久久久这里只有精品| 嫩草伊人久久精品少妇AV| 久久99精品国产麻豆蜜芽| 久久久久久国产精品免费无码| 久久久久国产亚洲AV麻豆| 1000部精品久久久久久久久| 无码8090精品久久一区| 久久这里只精品国产99热| 99久久国产宗和精品1上映| 久久国产视频网| 久久99精品综合国产首页| 日韩精品无码久久久久久| 欧美性大战久久久久久| 欧美精品一区二区精品久久| 奇米影视7777久久精品| 漂亮人妻被中出中文字幕久久| 国内精品欧美久久精品| 久久午夜电影网| segui久久国产精品| 国产精品久久久久aaaa| 亚洲欧美成人久久综合中文网 | 久久久国产乱子伦精品作者| 思思久久精品在热线热| 亚洲国产精品无码久久98| 77777亚洲午夜久久多人| 久久人人爽人人人人片av| 一本一道久久a久久精品综合|