• <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
            <2025年8月>
            272829303112
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456

            常用鏈接

            留言簿(24)

            隨筆分類(332)

            隨筆檔案(182)

            FRIENDS

            搜索

            積分與排名

            最新隨筆

            最新評論

            閱讀排行榜

            評論排行榜

            HDOJ HDU 1176 免費餡餅 ACM 1176 IN HDU

            Posted on 2010-08-05 14:02 MiYu 閱讀(714) 評論(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
            }

            国产精品久久久久影院色| 精品综合久久久久久98| 精品免费久久久久国产一区| 精品久久久久久无码人妻蜜桃| 欧美日韩精品久久久久| 久久99国产精品成人欧美| 久久精品极品盛宴观看| 久久电影网一区| 欧美亚洲国产精品久久| 久久综合综合久久97色| 思思久久99热只有频精品66| 国产精品无码久久久久久| 一本久道久久综合狠狠躁AV| 久久久久久久综合日本亚洲| 久久久久久久久久久| 狠狠人妻久久久久久综合蜜桃| 久久久久亚洲av无码专区| 69SEX久久精品国产麻豆| 久久久亚洲精品蜜桃臀| 久久99国产精品久久99| 综合人妻久久一区二区精品| 久久久久亚洲AV无码专区网站| 日产精品久久久久久久| 久久www免费人成看国产片| 久久99精品久久久久久动态图| 狠狠久久综合伊人不卡| 人人狠狠综合久久88成人| 久久亚洲AV无码精品色午夜麻豆| 久久精品国产99久久丝袜| 久久狠狠高潮亚洲精品| 无遮挡粉嫩小泬久久久久久久| 久久国产香蕉视频| 亚洲国产精品久久66| 91视频国产91久久久| 精品久久亚洲中文无码| 婷婷国产天堂久久综合五月| 久久亚洲视频| 久久这里只有精品首页| 久久精品中文无码资源站| 国产亚洲美女精品久久久2020| 久久精品蜜芽亚洲国产AV|