<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      書山有徑勤為路>>>>>>>>

      <<<<<<<<學海無涯苦作舟!

      記憶化搜索解決POJ 1088

      Description

      Michael喜歡滑雪百這并不奇怪, 因為滑雪的確很刺激。可是為了獲得速度,滑的區域必須向下傾斜,而且當你滑到坡底,你不得不再次走上坡或者等待升降機來載你。Michael想知道載一個區域中最長底滑坡。區域由一個二維數組給出。數組的每個數字代表點的高度。下面是一個例子 
       1  2  3  4 5
      
      16 17 18 19 6
      15 24 25 20 7
      14 23 22 21 8
      13 12 11 10 9

      一個人可以從某個點滑向上下左右相鄰四個點之一,當且僅當高度減小。在上面的例子中,一條可滑行的滑坡為24-17-16-1。當然25-24-23-...-3-2-1更長。事實上,這是最長的一條。

      Input

      輸入的第一行表示區域的行數R和列數C(1 <= R,C <= 100)。下面是R行,每行有C個整數,代表高度h,0<=h<=10000。

      Output

      輸出最長區域的長度。

      Sample Input

      5 5
      1 2 3 4 5
      16 17 18 19 6
      15 24 25 20 7
      14 23 22 21 8
      13 12 11 10 9
      

      Sample Output

      25
      
      
      記憶化搜索(什么是記憶化搜索呢?就是搜索的時候要用動態規劃來存儲,也就是說是兩者的結合)
      
      一開始在使用動態規劃時,總是認為如何存儲是最大的問題,因為這是動態規劃的一在特色嘛,但是,
      當你學過一段時間之后,才會發現真正重要的是狀態轉移方程,因為沒有了狀態轉移方程你的dp[][]數組
      要存入什么樣的數據呢?那不是說空話嗎?
      
      狀態轉移方程:dp[x][y]=max(dp[x-1][y], dp[x+1][y], dp[x][y-1], dp[x][y+1])+1
      狀態轉移方程的表現形式是多樣的,不一定非要用類似上面的式子來體現出來。
      比如本題的表現方式。
      View Code
      #include<iostream>
      using namespace std;
      int dir[4][2] = {{1,0},{0,1},{-1,0},{0,-1}};
      int n,m;
      int map[102][102];
      int dp[102][102];
      int dfs(int x,int y)
      {
          //cout <<x << " " << y << endl;
          int tx,ty,i;
          if(dp[x][y])                         //當已經搜索過時就返回
              return dp[x][y];
          for(i =  0;i < 4;i++)
          {
              tx = x + dir[i][0] , ty = y + dir[i][1];
              if(tx >= 0 && tx < n && ty >= 0 && ty < m && map[tx][ty] < map[x][y])//搜索+ 狀態轉移方程
              {
                  int temp = dfs(tx,ty); //遞歸的出口有兩個1.在11行;2.在16行
                  if(dp[x][y] <= temp) //i=0時比較dfs(x+1, y);i=1時比較dfs(x, y+1);i=2時比較dfs(x-1, y);i=3時比較dfs(x, y-1)
                  {   
                      dp[x][y] = temp+1;    
                  }
              }
          }
          return dp[x][y];
      }
      int main()
      {
          int i,j,t;
          while(cin >> n >> m)
          {
              for(i =0 ;i < n;i++)
              {
                  for(j = 0;j < m;j++)
                  {
                      cin >> map[i][j];
                      dp[i][j] = 0;
                  }
              }
              int max = -1;
              for(i = 0 ;i < n;i++)
              {
                  for(j = 0;j < m;j++)
                  {
                      t = dfs(i,j);
                      if(max < t)
                      {
                          max = t;
                      }
                  }
              }
              cout <<max + 1 << endl;
          }
          return 0;
      }
      
      

       

       

      posted on 2011-09-05 08:01  More study needed.  閱讀(1610)  評論(0)    收藏  舉報

      導航

      書山有徑勤為路>>>>>>>>

      <<<<<<<<學海無涯苦作舟!

      主站蜘蛛池模板: 99久久精品国产一区二区蜜芽| 日本公与熄乱理在线播放| 日韩人妻无码精品久久| 孙吴县| 国精品人妻无码一区免费视频电影| 亚洲国产日韩伦中文字幕| 久久一本人碰碰人碰| 午夜AAAAA级岛国福利在线 | 精品无码国产污污污免费| 国产精品无遮挡又爽又黄| 亚洲qingse中文字幕久久| 国产99青青成人A在线| 久久精品免视看国产成人| 国产一区精品综亚洲av| 乱人伦人妻中文字幕无码久久网 | 中文字幕av无码不卡| 国产精品自在自线免费观看| 亚洲国产日韩a在线亚洲| 中国CHINA体内裑精亚洲日本| 人人妻人人澡人人爽人人精品av| 色综合欧美亚洲国产| 鲁丝片一区二区三区免费| 亚洲a成人片在线观看| 五月丁香六月狠狠爱综合| 亚洲精品无码久久一线| 麻阳| 产综合无码一区| 午夜福利在线永久视频| 国产不卡一区二区四区| 日韩av在线一区二区三区| 亚洲a人片在线观看网址| 国产日韩AV免费无码一区二区三区 | 亚欧美闷骚院| 亚洲五月天一区二区三区| 天天躁日日摸久久久精品| 亚洲啪啪精品一区二区的| 久久精品国产清自在天天线 | 精品麻豆国产色欲色欲色欲WWW| 亚洲欧美日韩在线码| 亚洲激情一区二区三区在线| 精品国产乱码久久久久乱码|