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

隨筆 - 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>
              欧美日韩午夜激情| 国外成人在线| 国产拍揄自揄精品视频麻豆| 99re6这里只有精品视频在线观看| 久久丁香综合五月国产三级网站| 亚洲精品视频在线播放| 麻豆精品精华液| 在线日韩精品视频| 免费观看亚洲视频大全| 久久久久久9999| 在线观看一区| 欧美成人亚洲成人日韩成人| 久久久久久国产精品mv| 激情成人av在线| 麻豆久久久9性大片| 欧美一区二区在线免费播放| 国产在线视频欧美一区二区三区| 久久久久久日产精品| 久久精品国产久精国产一老狼| 国产资源精品在线观看| 美女91精品| 欧美激情一二区| 亚洲欧美激情一区二区| 久久gogo国模裸体人体| 亚洲国产精品激情在线观看| 亚洲国产成人久久综合| 欧美激情国产精品| 亚洲欧美999| 久久国产精品久久久久久| 在线精品亚洲| 夜夜嗨av一区二区三区中文字幕 | 在线亚洲精品福利网址导航| 99精品视频免费| 国产精品亚洲美女av网站| 久久久久久有精品国产| 男人插女人欧美| 亚洲欧美在线高清| 久久久www成人免费无遮挡大片| 91久久极品少妇xxxxⅹ软件| 亚洲乱码国产乱码精品精天堂| 国产精品久久网| 欧美阿v一级看视频| 欧美日韩一区三区四区| 久久免费黄色| 欧美调教视频| 欧美va天堂在线| 国产精品福利在线观看| 免费欧美日韩国产三级电影| 欧美日韩在线免费| 久久在线免费观看| 欧美日韩在线播放| 你懂的视频一区二区| 国产精品乱子久久久久| 欧美高清成人| 国产视频在线一区二区| 亚洲毛片在线观看| 在线观看av一区| 亚洲香蕉视频| 最新日韩在线| 香蕉av777xxx色综合一区| 亚洲精品一级| 久久精品在线观看| 午夜精品美女自拍福到在线| 免费一级欧美片在线播放| 久久av最新网址| 欧美色视频在线| 91久久亚洲| 亚洲黄页一区| 久久视频国产精品免费视频在线| 亚洲欧美电影院| 欧美日韩国产系列| 亚洲大片av| 亚洲国产日韩在线| 久久久噜噜噜久噜久久| 久久久国产精品一区| 国产精品一区视频| 亚洲无限av看| 亚洲影院污污.| 欧美三级欧美一级| 日韩亚洲成人av在线| 99精品免费网| 欧美人在线观看| 亚洲毛片在线| 亚洲视频www| 欧美午夜精品理论片a级按摩 | 久久亚洲免费| 久久久久亚洲综合| 黑丝一区二区三区| 久久激情久久| 模特精品在线| 亚洲欧洲精品一区二区三区不卡 | 在线电影国产精品| 久久久综合网站| 女生裸体视频一区二区三区| 精品1区2区3区4区| 久久综合999| 亚洲国产精品一区二区第一页| 91久久综合亚洲鲁鲁五月天| 欧美va亚洲va国产综合| 亚洲欧洲综合另类在线| 亚洲视频导航| 国产精品入口尤物| 欧美一区二区视频97| 久久综合色婷婷| 亚洲国产综合视频在线观看 | 亚洲午夜免费视频| 国产精品久久福利| 欧美亚洲一区二区在线| 免费在线观看一区二区| 99国产精品久久| 国产精品二区三区四区| 亚洲一区综合| 久久婷婷蜜乳一本欲蜜臀| 亚洲国产日韩综合一区| 欧美日韩国产在线看| 亚洲男人影院| 欧美激情在线观看| 中文国产一区| 国产一区二区av| 欧美成年人视频网站欧美| 中文一区二区在线观看| 久久久精彩视频| 亚洲精品综合久久中文字幕| 欧美性猛交xxxx乱大交蜜桃| 欧美一区二区高清| 亚洲国产成人久久综合一区| 亚洲免费影视| 亚洲国产成人高清精品| 国产精品ⅴa在线观看h| 欧美在线观看天堂一区二区三区 | 开元免费观看欧美电视剧网站| 亚洲人成人99网站| 久久久精品久久久久| 亚洲三级影片| 国产精品亚洲аv天堂网| 免费观看不卡av| 午夜激情综合网| 亚洲精品一二| 蜜臀久久99精品久久久画质超高清 | 激情视频亚洲| 欧美日韩中字| 美女主播一区| 欧美一区二区视频97| 日韩一二三区视频| 欧美国产国产综合| 久久国产视频网站| 亚洲一区二区免费在线| 亚洲经典一区| 一区福利视频| 国产视频一区欧美| 美女黄毛**国产精品啪啪| 亚洲午夜一区| 亚洲精品国产欧美| 一区二区三区自拍| 国产区欧美区日韩区| 欧美午夜视频一区二区| 欧美福利小视频| 麻豆免费精品视频| 久久久久久亚洲精品不卡4k岛国| 亚洲一级高清| 在线午夜精品自拍| 日韩视频免费| 亚洲精品一区二区三区蜜桃久| 欧美黄色小视频| 美女网站久久| 蜜桃av综合| 久久综合给合久久狠狠色| 欧美一区免费视频| 性欧美暴力猛交另类hd| 亚洲影院污污.| 亚洲综合大片69999| 亚洲影音一区| 午夜精品久久久久久久男人的天堂| 一区二区三区国产盗摄| av成人国产| 中文亚洲欧美| 亚洲视频在线观看| 亚洲免费在线观看| 亚洲欧美日韩天堂| 欧美中文字幕在线| 久久亚洲欧洲| 欧美黄色精品| 亚洲精品国产拍免费91在线| 亚洲人成毛片在线播放女女| 日韩亚洲在线观看| 亚洲视频在线播放| 亚洲自拍偷拍色片视频| 午夜在线一区二区| 久久精精品视频| 美女精品国产| 欧美日韩精品在线视频| 国产精品丝袜白浆摸在线| 国产视频丨精品|在线观看| 韩国精品久久久999| 亚洲黄一区二区三区| 亚洲午夜精品一区二区| 久久丁香综合五月国产三级网站| 久久久中精品2020中文| 亚洲二区免费| 亚洲在线成人|