• <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年10月>
            262728293012
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456

            常用鏈接

            留言簿(24)

            隨筆分類(332)

            隨筆檔案(182)

            FRIENDS

            搜索

            積分與排名

            最新隨筆

            最新評論

            閱讀排行榜

            評論排行榜

            HDOJ HDU 1176 免費餡餅 ACM 1176 IN HDU

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

            //MiYu原創, 轉帖請注明 : 轉載自 ______________白白の屋

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

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

                                                      數塔 

                                             的一道變形題!!!!  
            狀態轉移方程 :
             

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

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

            #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
            }

            久久激情五月丁香伊人| 国产亚洲美女精品久久久2020| 97久久精品人人做人人爽| 久久99精品国产99久久6| 亚洲欧洲中文日韩久久AV乱码| 亚洲精品tv久久久久久久久久| 久久综合香蕉国产蜜臀AV| 精品久久久久久综合日本| 四虎影视久久久免费观看| 久久国产色AV免费看| 久久夜色撩人精品国产| 久久精品夜色噜噜亚洲A∨| 久久成人国产精品一区二区| 久久亚洲中文字幕精品一区| av国内精品久久久久影院| 久久se精品一区精品二区国产| 久久精品国产男包| 青青草原综合久久| 亚洲国产精品一区二区三区久久| 亚洲狠狠婷婷综合久久久久 | 亚洲va中文字幕无码久久| 久久免费高清视频| 99蜜桃臀久久久欧美精品网站 | 久久精品卫校国产小美女| 99久久精品无码一区二区毛片 | 亚洲国产精品久久久久久| 久久久久青草线蕉综合超碰| 久久婷婷久久一区二区三区| 精品国产99久久久久久麻豆| 国产高清美女一级a毛片久久w| 无码国内精品久久人妻蜜桃| 久久精品夜色噜噜亚洲A∨| AAA级久久久精品无码片| 亚洲精品国精品久久99热一| 日本久久久久久久久久| 办公室久久精品| 国产精品久久久久影视不卡| 日韩精品久久无码人妻中文字幕| 日本高清无卡码一区二区久久| www.久久热| jizzjizz国产精品久久|