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

隨筆 - 87  文章 - 279  trackbacks - 0
<2006年2月>
2930311234
567891011
12131415161718
19202122232425
2627281234
567891011

潛心看書研究!

常用鏈接

留言簿(19)

隨筆分類(81)

文章分類(89)

相冊

ACM OJ

My friends

搜索

  •  

積分與排名

  • 積分 - 220587
  • 排名 - 118

最新評論

閱讀排行榜

評論排行榜

The Triangle
Time Limit:1000MS  Memory Limit:10000K

Description

7

3 8
8 1 0
2 7 4 4
4 5 2 6 5

(Figure 1)

Figure 1 shows a number triangle. Write a program that calculates the highest sum of numbers passed on a route that starts at the top and ends somewhere on the base. Each step can go either diagonally down to the left or diagonally down to the right.

Input
Your program is to read from standard input. The first line contains one integer N: the number of rows in the triangle. The following N lines describe the data of the triangle. The number of rows in the triangle is > 1 but <= 100. The numbers in the triangle, all integers, are between 0 and 99.

Output
Your program is to write to standard output. The highest sum is written as an integer.

Sample Input

5
7
3 8
8 1 0 
2 7 4 4
4 5 2 6 5

Sample Output

30

Source
IOI 1994

#include<iostream>
using namespace std;

int main()
{
    
int n,digital_num;
    
int result[100][100];
    
int *num;
    
int max = 0;
    
int i,j;
    cin
>>n;
    digital_num 
= n;
    num 
= new int[digital_num];

    
for (i = 0; i<n; i++)
    
{
        
for (j = 0; j<=i; j++)
        
{
            cin
>>num[j];
            
if (i==0)
                result[i][j] 
= num[j];
            
if (i>0)
            
{
                
if (j==0)
                    result[i][j] 
= result[i-1][j]+num[j];
                
if (j==i)
                    result[i][j] 
= result[i-1][j-1]+num[j];
                
if (j>0&&j<i)
                
{
                   
if (result[i-1][j]>result[i-1][j-1])
                       result[i][j] 
= result[i-1][j]+num[j];
                   
else
                       result[i][j] 
= result[i-1][j-1]+num[j];
                }

            }

        }

    }

    
    
for (i = 0; i<n; i++)
        
if (result[n-1][i]>max)
            max 
= result[n-1][i];

    cout
<<max<<endl;
    
return 0;
}
上面是通過的原程序。140k,15MS。


這道題目,過得好辛苦,從開始的遞歸,到遞推加回溯,到窮舉,到窮舉加剪枝,結果就從TLE->TLE->TLE->WA.  一直用著要保留路徑的方法,所以怎么也做不出來,后來換了個思維角度,保存每一步的結果,動態規劃,終于就AC了。做了這題,另我復習了好幾種方法,也對DP有了深得認識,可以說這是搞競賽的好題目,經典,推薦!!
posted on 2006-02-21 13:09 閱讀(1626) 評論(6)  編輯 收藏 引用 所屬分類: 算法&ACM

FeedBack:
# re: 終于做出了一題IOI了,有點心得。 2006-02-21 20:58 
又忘記 delete []num 了!~~  回復  更多評論
  
# re: 終于做出了一題IOI了,有點心得。 2006-02-25 09:29 imlazy
加油。  回復  更多評論
  
# re: 終于做出了一題IOI了,有點心得。 2006-03-11 11:01 空明流轉
很好啊,再接再厲!
我的動態規劃一直學的不好。。。  回復  更多評論
  
# re: 終于做出了一題IOI了,有點心得。 2006-03-12 11:09 
感謝 空明流轉 的支持!
我已經領略到acm的恐怖了,但是我不會輕易放棄的:)  回復  更多評論
  
# re: 終于做出了一題IOI了,有點心得。 2006-08-12 21:15 Optimistic
加油!  回復  更多評論
  
# re: 終于做出了一題IOI了,有點心得。 2007-05-03 00:27 App
inline int calpos(int row,int col)
{

return row*(row-1)/2+col;
}
int tmem[5051]={-1,7,3,8,8,1,0,2,7,4,4,4,5,2,6,5};
int bestroute[5051]={-1};
int height=5;

int highestroute(int row,int col)
{
if (row>height)
{
return 0;
}
int pos=calpos(row,col);

if (bestroute[pos]>0)
{
return bestroute[pos];
}
int nr[]={1,0,1,1};
int max=0;
int i;
for (i=0;i<4;i+=2)
{
int tmp=highestroute(row+nr[i],col+nr[i+1]);
if (tmp>max)
{
max=tmp;
}
}
max+=tmem[pos];
bestroute[pos]=max;
return max;
}
亂寫的,感覺遞歸邏輯更加清晰:-)  回復  更多評論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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毛片| 久久精品91| 欧美日韩成人网| 亚洲激情不卡| 亚洲第一中文字幕在线观看| 久久gogo国模裸体人体| 国产一区二区三区在线观看免费视频| 久久成人精品电影| 久久久夜色精品亚洲| 在线观看亚洲视频| 亚洲国产精品毛片| 欧美日韩一二区| 久久国产日韩| 久久一区欧美| 一区二区三区成人精品| 亚洲一区二区三区激情| 激情av一区二区| 亚洲欧洲中文日韩久久av乱码| 欧美精品亚洲一区二区在线播放| 亚洲女同性videos| 久久精品日产第一区二区三区 | 午夜精品久久久久久久男人的天堂 | 99精品国产99久久久久久福利| 欧美性开放视频| 久久综合五月| 欧美日韩国产不卡| 久久久午夜电影| 欧美久久久久久蜜桃| 欧美有码在线观看视频| 美女999久久久精品视频| 亚洲欧美中日韩| 久久在线播放| 亚洲欧美在线视频观看| 久久久综合网| 欧美在线免费看| 欧美激情精品久久久六区热门| 午夜伦理片一区| 欧美粗暴jizz性欧美20| 久久国产福利| 国产精品久久久久9999高清| 欧美成人免费全部观看天天性色| 欧美三级午夜理伦三级中文幕| 久久亚洲国产成人| 国产精品青草久久久久福利99| 亚洲承认在线| 亚洲国产影院| 国产亚洲激情视频在线| 亚洲精品在线电影| 亚洲第一福利社区| 欧美自拍偷拍| 香蕉久久国产| 欧美四级在线| 亚洲精品一二三区| 日韩视频免费观看高清在线视频| 欧美中文在线观看国产| 香港久久久电影| 欧美午夜电影一区| 亚洲美女色禁图| 亚洲免费播放| 欧美国产极速在线| 欧美电影电视剧在线观看| 国产一区高清视频| 亚洲综合国产| 欧美一区二区三区成人| 国产美女精品免费电影| 先锋影音久久久| 久久国产高清| 国产一区久久| 玖玖玖国产精品| 欧美肥婆bbw| 亚洲国产三级网| 欧美成人国产一区二区| 亚洲丰满少妇videoshd| 亚洲精品一级| 欧美日韩免费在线| 中文亚洲欧美| 亚欧成人精品| 国内精品久久久久影院优 | 亚洲激情六月丁香| 99re6热只有精品免费观看| 欧美人与性动交α欧美精品济南到| 欧美激情国产高清| 日韩亚洲精品在线| 欧美色图一区二区三区| 亚洲一区二区在线看| 久久久久成人精品| 91久久久久久久久久久久久| 欧美激情精品久久久| 中文亚洲欧美| 久久久女女女女999久久| 亚洲韩国一区二区三区| 欧美日韩亚洲系列| 欧美一区久久| 亚洲大片一区二区三区| 亚洲永久精品国产| 一区在线视频观看| 欧美日韩国产限制| 欧美一区日韩一区| 亚洲激情视频网站| 午夜一区在线| 亚洲精品国产精品国自产在线| 欧美色中文字幕| 久久婷婷av| 一本久道久久综合婷婷鲸鱼| 久久久精品国产免大香伊| 亚洲美女av网站| 国产欧美亚洲视频| 欧美日本不卡高清| 久久激五月天综合精品| 亚洲免费观看在线视频| 久久人人精品| 亚洲欧美日韩直播| 亚洲精品一区二区三区樱花| 国产欧美日韩精品丝袜高跟鞋| 米奇777超碰欧美日韩亚洲| 亚洲欧美日韩高清| 日韩视频不卡| 亚洲第一精品影视| 久久久xxx| 亚洲欧美日韩精品在线| 亚洲精品日韩欧美| 在线精品国产成人综合| 国产欧美一区二区色老头 | 免费中文字幕日韩欧美| 亚洲影院在线| 日韩一级黄色大片| 亚洲第一区在线观看| 久久嫩草精品久久久精品| 亚洲欧美在线免费| 亚洲一区不卡| 在线亚洲欧美专区二区| 亚洲理伦在线| 亚洲欧洲一区二区天堂久久 | 国产综合色产| 国产精品美女视频网站| 欧美日韩在线大尺度| 欧美大片一区| 欧美777四色影视在线| 久久这里只有| 老色鬼精品视频在线观看播放| 久久精品99国产精品日本| 亚洲你懂的在线视频| 亚洲欧美日韩国产中文| 亚洲午夜影视影院在线观看| 一区二区三区欧美在线观看| 亚洲日本欧美天堂| 亚洲精品永久免费精品| 亚洲每日在线| 日韩亚洲欧美中文三级| 中日韩视频在线观看| 一区二区三区精品视频| 亚洲一区二区成人在线观看| 亚洲一区在线看| 欧美亚洲在线观看| 久久久久88色偷偷免费| 久久漫画官网| 欧美.www| 欧美视频在线一区二区三区| 国产精品久久国产精麻豆99网站| 国产精品大全| 国产一区99| 在线观看一区二区精品视频| 亚洲国产一区二区三区青草影视 | 国产精品日韩欧美大师| 国产性天天综合网| 在线精品亚洲| 亚洲视频狠狠| 久久电影一区| 欧美激情va永久在线播放| 最近看过的日韩成人| 亚洲一区二区三区中文字幕在线 | 亚洲欧美视频在线观看视频| 欧美一级视频一区二区| 免费久久99精品国产| 欧美激情1区| 国产区亚洲区欧美区| **性色生活片久久毛片| 亚洲少妇一区| 久久女同精品一区二区| 91久久夜色精品国产九色| 亚洲伊人第一页| 美女被久久久| 国产精品一区三区| 亚洲精品美女在线观看| 欧美亚洲在线| 亚洲黄色av一区| 亚洲欧美日韩第一区| 欧美国产精品一区| 国产精品一区二区女厕厕| 亚洲国产日韩欧美综合久久| 国产精品99久久不卡二区| 久热这里只精品99re8久| 99成人在线| 免费在线观看日韩欧美| 国产日产精品一区二区三区四区的观看方式 | 亚洲综合第一| 亚洲经典一区| 久久久亚洲人| 国产精品天天看| 一区二区欧美激情|