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

隨筆 - 87  文章 - 279  trackbacks - 0
<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

潛心看書研究!

常用鏈接

留言簿(19)

隨筆分類(81)

文章分類(89)

相冊

ACM OJ

My friends

搜索

  •  

積分與排名

  • 積分 - 220427
  • 排名 - 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>
              久久综合九色综合欧美就去吻| 亚洲一级二级| 国内成+人亚洲+欧美+综合在线| 午夜在线成人av| 欧美国产欧美综合| 国产日本欧美一区二区三区在线| 欧美极品欧美精品欧美视频| 午夜精品一区二区三区电影天堂| 欧美成人综合在线| 亚洲视频碰碰| 中文一区字幕| 在线一区二区三区做爰视频网站| 鲁大师成人一区二区三区| 欧美大片一区二区| 亚洲国产成人精品女人久久久 | 亚洲欧美日韩人成在线播放| 亚洲免费视频在线观看| 亚洲男同1069视频| 久久成人免费视频| 亚洲欧美在线磁力| 亚洲一区二区影院| 亚洲在线视频一区| 亚洲私人影吧| 你懂的国产精品| 亚洲国产日本| 亚洲一区二区三区在线观看视频| 久久成人精品视频| 国产精品永久入口久久久| 国产一区二区丝袜高跟鞋图片| 国产精品另类一区| 一区二区三区日韩精品视频| 亚洲在线观看免费视频| 亚洲专区一区| 欧美日韩精品二区第二页| 国产精品激情| 一本久久综合| 99在线精品视频| 亚洲欧洲一区二区三区| 欧美一级日韩一级| 欧美电影电视剧在线观看| 欧美岛国激情| 日韩一级在线| 久久精品国产第一区二区三区最新章节| 亚洲国产高清自拍| 欧美日韩中文字幕日韩欧美| 国产日本欧美视频| 午夜视频在线观看一区| 欧美成人日本| 欧美成人在线影院| 精品69视频一区二区三区| 99国产精品99久久久久久粉嫩| 欧美在线观看一区二区三区| 亚洲黄色在线视频| 亚洲欧美日韩网| 欧美日韩精品综合| 这里只有精品丝袜| 蜜桃精品久久久久久久免费影院| 午夜精品www| 国产精品乱码| 亚洲欧美影院| 欧美精品不卡| 久久成人免费电影| 久久久欧美精品sm网站| 一本色道88久久加勒比精品| 国产午夜精品在线| 新狼窝色av性久久久久久| 国产精品99久久不卡二区| 国产一区二区三区免费不卡 | 国产三区精品| 久久精品国产成人| 欧美高清视频一二三区| 亚洲自拍16p| 欧美大片网址| 免费人成精品欧美精品| 国产精品成人观看视频国产奇米| 久久精品女人天堂| 国产精品二区二区三区| 欧美激情按摩在线| 韩国av一区二区三区在线观看 | 在线观看不卡av| 久久午夜激情| 在线观看视频免费一区二区三区| 国产欧美日韩免费| 99ri日韩精品视频| 久久精品主播| 亚洲特级毛片| 欧美视频一区二区三区四区| 亚洲影院在线观看| 亚洲一级影院| 国产日韩欧美一区二区| 一本久道久久综合中文字幕| 一区二区三区久久精品| 欧美日本亚洲| 久久久久久电影| 久久婷婷成人综合色| 国产精品综合| 亚洲欧美久久久| 麻豆av一区二区三区久久| 亚洲欧美精品suv| 亚洲精品男同| 中文亚洲欧美| 国产精品亚洲一区二区三区在线| 一本色道久久99精品综合 | 亚洲免费在线视频| 国产精品一区二区你懂的| 欧美在线电影| 亚洲国产欧洲综合997久久| 欧美另类在线播放| 午夜精彩视频在线观看不卡| 久久久欧美精品| 在线日韩av永久免费观看| 久久精品麻豆| 久久福利影视| 欧美在线啊v| 午夜免费久久久久| 麻豆精品网站| 亚洲一区二区在线看| 在线观看一区二区视频| 国内成+人亚洲| 国产亚洲一级| 欧美成人dvd在线视频| 亚洲日本一区二区三区| 久久国产精品一区二区三区四区| 亚洲国产黄色| 亚洲国产精品尤物yw在线观看| 亚洲高清网站| 欧美精品午夜视频| 亚洲精品久久久久久久久久久久| 久久字幕精品一区| 亚洲精品无人区| 国产精品一区毛片| 午夜久久久久久| 在线亚洲国产精品网站| 妖精成人www高清在线观看| 在线中文字幕不卡| 老司机久久99久久精品播放免费| 久久成人18免费网站| 精品成人乱色一区二区| 一区福利视频| 在线观看视频一区| 亚洲日本欧美在线| 欧美日韩中文字幕综合视频| 亚洲深夜福利视频| 一本一本久久| 亚洲一本大道在线| 亚洲美女毛片| 欧美一区二区日韩| 香蕉精品999视频一区二区 | 亚洲国产欧美国产综合一区| 亚洲国产色一区| 久久综合久久美利坚合众国| 久久成人一区| 宅男噜噜噜66一区二区66| 亚洲视频在线观看视频| 欧美国产日韩在线观看| 久久久国际精品| 久久久久国产精品一区二区| 久久成人在线| 欧美aa国产视频| 国产精品日韩在线| 午夜国产精品影院在线观看| 一本色道久久综合亚洲精品不卡 | 欧美黄色精品| 欧美91福利在线观看| 欧美一区二区高清| 欧美一区二区视频在线| 久久久久国产一区二区三区| 欧美电影在线| 亚洲国产欧美国产综合一区| 久久精品中文字幕一区二区三区| 免费一级欧美在线大片| 亚洲伦理一区| 蜜臀99久久精品久久久久久软件| 美脚丝袜一区二区三区在线观看| 一本大道av伊人久久综合| 欧美激情精品久久久久久黑人| 麻豆成人在线播放| 亚洲深夜av| 欧美一区=区| 亚洲黄一区二区| 久久久精品日韩欧美| 欧美一区二区啪啪| 亚洲福利视频一区| 免费看黄裸体一级大秀欧美| 狂野欧美一区| 欧美激情在线免费观看| 国产精品视频999| 欧美一区二区在线免费观看| 欧美另类高清视频在线| 亚洲一级片在线观看| 午夜激情一区| 国产精品一区2区| 亚洲国产三级网| 欧美成人精品影院| 亚洲一区二区三区在线看| 亚洲欧美文学| 夜夜嗨网站十八久久| 久久久久久午夜| 亚洲激情视频网| 性欧美超级视频|