• <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年11月>
            31123456
            78910111213
            14151617181920
            21222324252627
            2829301234
            567891011

            常用鏈接

            留言簿(24)

            隨筆分類(332)

            隨筆檔案(182)

            FRIENDS

            搜索

            積分與排名

            最新隨筆

            最新評論

            閱讀排行榜

            評論排行榜

            HDOJ HDU 1176 免費餡餅 ACM 1176 IN HDU

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

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

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

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

                                                      數(shù)塔 

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

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

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

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

            久久国产精品成人影院| 久久精品国产亚洲av高清漫画| 91精品国产9l久久久久| 亚洲精品高清久久| 午夜视频久久久久一区| 久久久久国产精品熟女影院| 99久久夜色精品国产网站| 亚洲va久久久久| 国内精品伊人久久久久| 亚洲性久久久影院| 久久96国产精品久久久| 亚洲国产香蕉人人爽成AV片久久 | 91久久精品电影| 久久这里有精品| 亚洲综合婷婷久久| 久久精品国产亚洲AV无码麻豆| 伊人久久大香线蕉精品| 色狠狠久久AV五月综合| 欧美午夜精品久久久久久浪潮| 久久亚洲中文字幕精品有坂深雪| 日日狠狠久久偷偷色综合96蜜桃 | 久久国产三级无码一区二区 | 久久精品成人影院| 久久精品国产亚洲综合色| 久久精品免费一区二区| 精品无码久久久久久国产| 国产成人精品免费久久久久| 国产色综合久久无码有码| 欧美午夜A∨大片久久 | 国产精品久久一区二区三区| 精品人妻伦九区久久AAA片69| 精品乱码久久久久久夜夜嗨 | 日韩电影久久久被窝网| 久久天天躁狠狠躁夜夜2020老熟妇| 欧美久久综合性欧美| 狠狠狠色丁香婷婷综合久久五月 | 久久久久久久国产免费看| 久久国产精品视频| 久久久精品国产Sm最大网站| 久久精品一区二区| 久久九色综合九色99伊人|