青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品



May the force be with you!
posts - 52,  comments - 33,  trackbacks - 0

題目描述:
        有一棟樓有N(1<=N<=100)層,每層房間有M個房間(1<=M<=500)。每間房間有一個訪問開銷。從一個房間可以到其周邊(上一層同一號,同一層左右兩間)。現在要從一樓開始一直訪問到頂樓,問怎樣走可以獲得最小的訪問開銷?

解題思路:
      雙向DP。從一樓到頂樓依次計算從底樓到某一間房子的最小開銷。
      技巧點:對于某一層,先計算從下一層或左邊向右走的最小開銷,再嘗試從右邊走到左邊,看是不是開銷可以變小,是則更新。

程序代碼:

 

  1 /*********************************************************************
  2 Author: littlekid
  3 Created Time: 2008-1-15 9:31:18
  4 Problem Source: 
  5 Description: 
  6     中間WA了兩次,查了很久,
  7     最后發(fā)現題目描述的是最多M層,每層最多N間房,原來弄反了!是個不小的教訓
  8 ********************************************************************/
  9 
 10 # include <iostream>
 11 using namespace std;
 12 
 13 # define MAX 2000000005
 14 # define N 555
 15 # define M 111
 16 
 17 int n,m;
 18 long fee[ M ][ N ], f[ M ][ N ];;
 19 int road[ M ][ N ];
 20 
 21 void init()
 22 {
 23     scanf( "%d %d"&n, &m );
 24     for ( int i = 1; i <= n; i ++ )
 25     {
 26         for ( int j = 1; j <= m; j ++ )
 27         {
 28             scanf( "%d"&fee[ i ][ j ] );
 29         }
 30     }
 31 }
 32 
 33 void output()
 34 {
 35     int min = MAX, s = 1;
 36     for ( int i = 1; i <= m; i ++ )
 37     {
 38         if ( f[ n ][ i ] < min )
 39         {
 40             min = f[ n ][ i ];
 41             s = i;
 42         }
 43     }
 44     int step[ n*m+1 ];
 45     step[0= s; s=0;
 46     int floor = n;
 47     while ( floor > 1 )
 48     {
 49           s ++;
 50           step[ s ] = road[ floor ][ step[s-1] ];
 51           if ( step[ s ] == step[ s-1 ] )  floor --;
 52     }
 53     
 54     for ( int i = s; i >= 0; i -- )
 55     {
 56         printf( "%d\n", step[ i ] );
 57     }
 58 }
 59 
 60 void dp()
 61 {
 62     int tmp;
 63     for ( int i = 1; i <= m; i ++ )
 64     {
 65         road[1][ i ] = i;
 66         f[1][ i ] = fee[1][ i ];
 67     }
 68     for ( int floor = 2; floor <= n; floor ++ )
 69     {
 70         f[ floor ][1= f[ floor-1 ][ 1 ] + fee[ floor ][ 1 ];
 71         road[ floor ][1= 1;
 72         
 73         for ( int i = 2; i <= m; i ++ )
 74         {
 75             f[ floor ][ i ] = fee[ floor ][ i ];
 76             if ( f[ floor ][ i-1 ] < f[ floor-1 ][ i ] )
 77             {
 78                 f[ floor ][ i ] += f[ floor ][ i-1 ];
 79                 road[ floor ][ i ] = i-1;
 80             }
 81             else
 82             {
 83                 f[ floor ][ i ] += f[ floor-1 ][ i ];
 84                 road[ floor ][ i ] = i;
 85             }
 86         }
 87         
 88         for ( int i = m-1; i > 0; i -- )
 89         {
 90             tmp = f[ floor ][ i+1 ] + fee[ floor ][ i ];
 91             if ( tmp < f[ floor ][ i ] )
 92             {
 93                 f[ floor ][ i ] = tmp;
 94                 road[ floor ][ i ] = i+1;
 95             }
 96         }
 97     }
 98 }
 99 
100 int main()
101 {
102     int n,m;
103     init();
104     dp();
105     output();
106     return 0;
107 }
108 
109 


 

posted on 2008-01-15 11:10 R2 閱讀(517) 評論(0)  編輯 收藏 引用 所屬分類: Problem Solving
你是第 free hit counter 位訪客




<2008年1月>
303112345
6789101112
13141516171819
20212223242526
272829303112
3456789

常用鏈接

留言簿(4)

隨筆分類(54)

隨筆檔案(52)

文章檔案(1)

ACM/ICPC

技術綜合

最新隨筆

搜索

  •  

積分與排名

  • 積分 - 64560
  • 排名 - 357

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲看片网站| 国产无一区二区| 亚洲区一区二| 欧美a级一区二区| 美女诱惑一区| 亚洲黄色影片| 国产精品久久久久久久app| 亚洲一区美女视频在线观看免费| 亚洲一区二区黄色| 国产综合精品一区| 美国成人直播| 亚洲一区尤物| 香蕉久久夜色精品国产| 美女诱惑黄网站一区| 欧美jjzz| 久久久久久97三级| 亚洲三级电影全部在线观看高清| 国产精品久在线观看| 麻豆精品网站| 欧美日韩国产电影| 久久久国产成人精品| 亚洲国产欧美不卡在线观看| 欧美黄色成人网| 亚洲永久免费| 久久九九免费| 欧美三级第一页| 久久色在线观看| 亚洲在线一区| 亚洲黄色免费| 欧美中文在线观看| 中文在线一区| 亚洲日本中文| 欧美在线一级va免费观看| 亚洲国产合集| 欧美大片一区二区三区| 国产精品美女在线| 在线高清一区| 激情综合电影网| 影音先锋在线一区| 亚洲影视九九影院在线观看| 最新国产成人在线观看| 亚洲欧美欧美一区二区三区| 夜夜嗨av一区二区三区四季av| 亚洲国产成人在线播放| 在线看国产一区| 亚洲国产91| 欧美一区二区三区在线视频| 亚洲一级在线观看| 欧美国产日本韩| 亚洲黄色免费电影| 久久精品国语| 国产欧美精品国产国产专区| 国产日韩综合| 亚洲主播在线观看| 99在线|亚洲一区二区| 一本一道久久综合狠狠老精东影业 | 乱码第一页成人| 欧美成人中文字幕| 久久成人人人人精品欧| 久久久久国产精品厨房| 久久久久久久久久看片| 国产精品影片在线观看| 狠狠色综合播放一区二区| 在线看片日韩| 欧美激情第五页| 麻豆av福利av久久av| 亚洲福利免费| 亚洲国产成人高清精品| 欧美成年人视频网站欧美| 欧美特黄一区| 亚洲欧美精品| 午夜精品福利电影| 欧美风情在线观看| 亚洲黄色免费| 亚洲日产国产精品| 午夜在线一区二区| 国内揄拍国内精品少妇国语| 久久综合久久综合久久综合| 亚洲日本成人网| 欧美日韩午夜剧场| 国产一区成人| 国产精品99久久久久久宅男| 一区二区三区 在线观看视频| 欧美午夜电影网| 尤物精品在线| 亚洲高清在线观看| 欧美三级网页| 久久久久久久精| 欧美国产亚洲另类动漫| 亚洲曰本av电影| 久久精视频免费在线久久完整在线看| 欧美 日韩 国产一区二区在线视频| 亚洲承认在线| 99热免费精品在线观看| 国产情人节一区| 欧美电影免费网站| 欧美午夜a级限制福利片| 久久久夜夜夜| 亚洲欧美日韩第一区| 在线观看欧美| 一区二区三区久久久| 狠狠色狠色综合曰曰| av不卡免费看| 亚洲黄色免费电影| 亚洲欧美日韩一区| 日韩午夜在线视频| 欧美大片免费观看| 国产精品欧美精品| 一区二区三区四区五区精品| 亚洲高清不卡在线| 国产精品久久久亚洲一区| 美女国产一区| 国产精品视频免费观看www| 欧美大片免费久久精品三p| 国产区二精品视| 亚洲神马久久| 国产精品亚洲综合| 亚洲国产精品成人综合色在线婷婷| 国产伦理一区| 亚洲最新在线视频| 亚洲精品视频一区| 久久漫画官网| 久久久久久亚洲精品杨幂换脸| 欧美日韩一卡二卡| 91久久精品一区| 亚洲日本免费| 农夫在线精品视频免费观看| 久久人人97超碰精品888| 国产精品一区二区女厕厕| 日韩一级免费观看| 黄色一区二区在线| 性欧美1819性猛交| 欧美一区视频在线| 国产精品自拍网站| 亚洲免费在线电影| 欧美一区三区三区高中清蜜桃| 国产精品成人免费| 中文日韩在线| 性8sex亚洲区入口| 久久亚洲精品中文字幕冲田杏梨| 久久国产日韩| 久久一区欧美| 麻豆精品国产91久久久久久| 国产一区二区成人| 欧美在线三级| 日韩西西人体444www| 老色鬼久久亚洲一区二区| 一区二区毛片| 欧美日韩黄色大片| aa级大片欧美| 欧美一区二区三区播放老司机 | 欧美激情一区二区三区成人| 亚洲青涩在线| 欧美少妇一区二区| 亚洲中午字幕| 美女精品网站| 国产精品高清一区二区三区| 在线一区二区三区做爰视频网站 | 久久成人精品| 一区在线免费观看| 欧美激情四色| 久久久综合网站| 亚洲丰满在线| 欧美视频亚洲视频| 性视频1819p久久| 欧美激情在线免费观看| 亚洲香蕉视频| 在线成人av| 欧美性猛交xxxx乱大交蜜桃| 欧美一区二区网站| 亚洲欧美精品在线| 国产一区二区观看| 欧美精品系列| 欧美在线观看视频在线| 欧美国产日产韩国视频| 亚洲欧美一区二区视频| 欧美精品福利在线| 亚洲已满18点击进入久久| 免费高清在线视频一区·| 一区二区高清视频| 国产一区二区三区精品久久久| 蜜臀va亚洲va欧美va天堂| 亚洲欧美99| 亚洲巨乳在线| 中文一区二区| 国语自产精品视频在线看一大j8| 免费日韩一区二区| 午夜视频在线观看一区| 亚洲人成在线观看一区二区| 久久亚洲精选| 久久av在线看| 亚洲中字在线| 99riav国产精品| 亚洲茄子视频| 亚洲第一主播视频| 国产喷白浆一区二区三区 | 在线精品视频一区二区| 国产欧美日韩视频在线观看| 欧美日韩精品三区| 欧美mv日韩mv国产网站|