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

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

潛心看書研究!

常用鏈接

留言簿(19)

隨筆分類(81)

文章分類(89)

相冊

ACM OJ

My friends

搜索

  •  

積分與排名

  • 積分 - 221598
  • 排名 - 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 閱讀(1628) 評論(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>
              一本色道久久综合亚洲精品按摩| 国产在线精品自拍| 亚洲靠逼com| 欧美激情一区二区三区全黄| 欧美xxx在线观看| 亚洲人体影院| 亚洲日本中文| 欧美日本网站| 亚洲欧美日产图| 欧美在线网站| 亚洲福利视频一区| 亚洲人成免费| 国产精品婷婷午夜在线观看| 久久久久国内| 欧美高清在线| 亚洲伊人色欲综合网| 亚洲欧美日韩在线不卡| 亚洲第一黄色| 99国产精品久久久久久久久久 | 亚洲一区二区三| 国产亚洲一区二区三区在线播放| 免费成人av在线看| 欧美日韩一二三四五区| 欧美一级免费视频| 久热国产精品| 亚洲资源在线观看| 久久人人97超碰人人澡爱香蕉| 日韩一级黄色片| 久久er99精品| 一区二区三区精品久久久| 香蕉成人伊视频在线观看| 亚洲三级毛片| 亚洲欧美影院| 亚洲无人区一区| 久久婷婷久久| 欧美主播一区二区三区| 欧美精品久久久久久久久老牛影院 | 国产精品一区二区欧美| 亚洲电影在线播放| 国产日韩精品一区二区浪潮av| 欧美激情国产日韩| 国产麻豆成人精品| 最新国产の精品合集bt伙计| 国产一区激情| 亚洲你懂的在线视频| 亚洲另类自拍| 久久久久久日产精品| 亚洲女女女同性video| 欧美精品色网| 亚洲国产精品精华液2区45| 国产婷婷色一区二区三区| 99热这里只有成人精品国产| 影音先锋中文字幕一区| 午夜精彩视频在线观看不卡| 亚洲一区二区三区激情| 欧美精品日韩一本| 欧美激情网友自拍| ●精品国产综合乱码久久久久| 午夜精品影院在线观看| 亚洲欧美日韩精品一区二区| 欧美日韩喷水| 99精品99| 亚洲一区二区三区高清| 欧美午夜无遮挡| 亚洲精品国产拍免费91在线| 亚洲麻豆一区| 欧美日韩亚洲一区| 日韩一区二区免费看| 一区电影在线观看| 欧美日韩一级黄| 日韩小视频在线观看| 中国亚洲黄色| 国产精品美女久久久久久免费| 亚洲作爱视频| 性欧美8khd高清极品| 国产精品视频男人的天堂| 亚洲欧美电影在线观看| 欧美在线看片a免费观看| 国产视频一区在线观看一区免费| 欧美亚洲日本国产| 久热精品视频在线| 欧美www视频在线观看| 亚洲国产综合在线| 欧美另类高清视频在线| 99pao成人国产永久免费视频| 在线一区观看| 国产乱子伦一区二区三区国色天香| 亚洲综合色婷婷| 免费不卡在线观看| 日韩视频三区| 国产精品久久网| 久久久久久伊人| 亚洲精品久久久久久一区二区 | 精品成人在线观看| 欧美成人国产一区二区 | 久久国产精品黑丝| 亚洲成人资源| 欧美午夜美女看片| 欧美在线观看网站| 亚洲黄网站黄| 午夜精品一区二区三区四区| 伊人精品成人久久综合软件| 欧美福利在线观看| 亚洲欧美日韩专区| 欧美成人69av| 午夜电影亚洲| 亚洲日本理论电影| 国产精品女主播| 欧美国产日韩精品免费观看| 亚洲欧美不卡| 亚洲国产天堂久久综合| 久久超碰97中文字幕| 一本一本大道香蕉久在线精品| 国产欧美一二三区| 欧美日韩精品在线观看| 久久精品欧洲| 亚洲一区二区三区四区中文| 亚洲第一毛片| 久久精品视频在线| 亚洲综合大片69999| 亚洲精品一区二区网址| 国内精品美女av在线播放| 欧美三级视频在线| 蜜臀a∨国产成人精品| 小黄鸭精品密入口导航| 亚洲人体影院| 欧美韩国日本综合| 久久久久久午夜| 亚洲欧美日韩成人| 在线视频你懂得一区二区三区| 影音先锋久久精品| 国产日韩精品视频一区| 国产精品毛片大码女人| 欧美日韩国产三级| 欧美成va人片在线观看| 麻豆精品在线视频| 久久精品在线观看| 欧美影院一区| 欧美亚洲一区二区在线| 亚洲综合精品四区| 亚洲神马久久| 亚洲视频高清| 国产精品99久久久久久久女警| 亚洲精品乱码久久久久| 亚洲人屁股眼子交8| 亚洲激情视频网| 亚洲国产三级在线| 亚洲精品婷婷| 99v久久综合狠狠综合久久| 日韩视频―中文字幕| 亚洲精品中文字幕在线| 亚洲麻豆av| 在线一区二区三区做爰视频网站| 日韩视频永久免费| 中日韩视频在线观看| 亚洲影视中文字幕| 午夜亚洲精品| 久久久最新网址| 欧美激情片在线观看| 欧美日韩成人精品| 国产精品入口| 韩国v欧美v日本v亚洲v | 欧美久久久久久久| 欧美日韩国产一区二区| 欧美吻胸吃奶大尺度电影| 国产精品wwwwww| 国产亚洲午夜| 韩日欧美一区| 亚洲日本成人在线观看| 亚洲永久精品国产| 久久久久欧美精品| 欧美电影免费观看| 一本一本久久a久久精品牛牛影视| 亚洲一级黄色| 久久综合九色综合欧美狠狠| 欧美激情中文字幕一区二区| 国产精品二区二区三区| 在线播放一区| 中文高清一区| 久久综合狠狠综合久久综青草| 亚洲狠狠丁香婷婷综合久久久| 中文日韩在线| 久久夜色精品| 国产精品久久国产愉拍| 在线观看日韩专区| 亚洲一区二区三区精品视频| 免费一区视频| 在线亚洲免费| 蜜桃av一区二区三区| 国产精品一二三视频| 亚洲精品韩国| 久久免费视频观看| 正在播放欧美视频| 男女精品视频| 国产一区欧美日韩| 亚洲欧美国产日韩天堂区| 欧美成人精品福利| 欧美亚洲一区| 国产精品久久久久久久久| 亚洲人成在线播放网站岛国|