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

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

潛心看書研究!

常用鏈接

留言簿(19)

隨筆分類(81)

文章分類(89)

相冊

ACM OJ

My friends

搜索

  •  

積分與排名

  • 積分 - 219411
  • 排名 - 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 閱讀(1623) 評論(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>
              亚洲视频免费在线观看| 国产精品99久久不卡二区| 激情六月婷婷久久| 亚洲特级毛片| 日韩网站在线| 欧美www在线| 亚洲电影第1页| 最新国产成人av网站网址麻豆| 欧美成人中文字幕| 在线观看亚洲a| 免费看黄裸体一级大秀欧美| 欧美一级淫片aaaaaaa视频| 国产精品实拍| 久久精品免费看| 欧美一区二区私人影院日本| 国产亚洲综合精品| 久久久亚洲精品一区二区三区| 欧美专区亚洲专区| 亚洲春色另类小说| 91久久国产综合久久91精品网站| 欧美激情片在线观看| 在线亚洲自拍| 香蕉精品999视频一区二区| 国产欧美日韩综合一区在线观看 | 国产真实精品久久二三区| 欧美一区二视频在线免费观看| 午夜欧美大片免费观看| 国模精品娜娜一二三区| 欧美a级一区二区| 欧美区日韩区| 欧美亚洲一区二区三区| 久久成人人人人精品欧| 亚洲激情综合| 亚洲一区高清| 在线观看国产欧美| 日韩视频一区二区三区| 国产日产欧美a一级在线| 另类综合日韩欧美亚洲| 欧美日韩mp4| 久久精品亚洲精品| 欧美激情一区二区三级高清视频 | 亚洲大片一区二区三区| 欧美日韩亚洲三区| 久久久午夜精品| 欧美国产欧美亚州国产日韩mv天天看完整| 一区二区三区鲁丝不卡| 久久精品男女| 亚洲欧美综合一区| 美女精品在线观看| 欧美伊人精品成人久久综合97| 奶水喷射视频一区| 久久国产精品久久精品国产| 欧美连裤袜在线视频| 久久精品在线免费观看| 欧美日韩日本国产亚洲在线| 久久激情综合网| 99精品国产99久久久久久福利| 噜噜爱69成人精品| 老色批av在线精品| 亚洲激情图片小说视频| 亚洲人成人99网站| 国产精品福利片| 欧美成人一二三| 欧美性开放视频| 一区二区三区四区国产精品| 亚洲欧美资源在线| 中文亚洲免费| 久久艳片www.17c.com| 欧美在线视频不卡| 久久看片网站| 最近中文字幕mv在线一区二区三区四区| 欧美精品激情blacked18| 欧美在线视频在线播放完整版免费观看 | 久久精品官网| 亚洲久久视频| 久久资源在线| 老色鬼精品视频在线观看播放| 欧美日本国产一区| 免费久久99精品国产| 亚洲九九精品| 欧美三级不卡| 亚洲三级色网| 亚洲欧美另类综合偷拍| 国产精品美女一区二区| 亚洲男人影院| 亚洲一区二区视频在线| 亚洲欧美日韩综合aⅴ视频| 久久久91精品国产一区二区精品| 亚洲一区在线看| 99精品黄色片免费大全| 久久综合国产精品| 欧美亚洲免费高清在线观看| 亚洲福利小视频| 91久久精品www人人做人人爽| 欧美金8天国| 久久久精品五月天| 亚洲国产日韩欧美| 亚洲精品九九| 国产视频久久久久| 猫咪成人在线观看| 亚洲国产日韩欧美在线99| 夜夜嗨av色一区二区不卡| 国内久久婷婷综合| 亚洲中字黄色| 久久在线91| 亚洲精品一区二区三区99| 亚洲黄网站在线观看| 欧美日本三区| 久久久久久999| 亚洲精品社区| 欧美福利视频网站| 午夜伦欧美伦电影理论片| 欧美高清在线一区| 亚洲欧美日韩视频一区| 欧美激情精品久久久久久| 中日韩在线视频| 国产一区欧美| 欧美日韩免费一区二区三区| 欧美一区二区三区视频在线观看| 欧美成人一区二区| 久久精品国产久精国产爱| 亚洲欧美成人| 欧美一区二区福利在线| 欧美亚洲色图校园春色| 亚洲美女视频在线免费观看| 亚洲精品乱码久久久久久日本蜜臀 | 99视频日韩| 麻豆成人av| 欧美激情一区二区三区高清视频| 欧美亚洲日本网站| 午夜精品久久久久久久白皮肤| 一本大道久久a久久精二百| 伊大人香蕉综合8在线视| 亚洲国产成人精品久久| 亚洲国产成人av在线| 国产欧美日韩免费看aⅴ视频| 欧美性猛交xxxx乱大交蜜桃| 国产精品午夜春色av| 樱桃视频在线观看一区| 亚洲国产毛片完整版 | 国产精品一区二区三区观看| 美女免费视频一区| 欧美一级一区| 久久精品在线视频| 欧美在线一二三| 亚洲欧美国产毛片在线| 久久久久国产精品人| 欧美高清在线精品一区| 精品99一区二区| 亚洲清纯自拍| 午夜精品视频在线观看| 久久丁香综合五月国产三级网站| 欧美国产91| 99精品欧美一区| 欧美一区观看| 亚洲精品欧美日韩专区| 欧美日韩综合网| 国产一区二区欧美| 亚洲私人黄色宅男| 亚洲国产成人一区| 亚洲男人影院| 亚洲电影观看| 亚洲视频一二| 亚洲人成网站999久久久综合| 久久精品2019中文字幕| 小黄鸭精品aⅴ导航网站入口| 亚洲免费观看高清完整版在线观看熊| 欧美成人资源网| 欧美日韩mp4| 亚洲国产成人不卡| 日韩视频在线观看免费| 欧美在线视频观看| 欧美一区午夜精品| 亚洲午夜久久久| 亚洲三级毛片| 亚洲欧美日韩在线播放| 在线日韩欧美| 亚洲一区影院| 亚洲精品美女在线| 一区二区三区高清不卡| 欧美日韩国产在线播放| 亚洲缚视频在线观看| 亚洲欧洲精品一区二区| 欧美三级视频在线播放| 欧美专区在线观看| 蜜臀av性久久久久蜜臀aⅴ| 久久av老司机精品网站导航| 久久国产精品第一页| 亚洲午夜在线观看视频在线| 欧美专区第一页| 中文国产成人精品久久一| 麻豆成人在线观看| 欧美在线免费观看| 国产精品porn| 欧美在线观看一区二区三区| 欧美一级久久久久久久大片| 亚洲国产精品一区二区第一页| 久久精品123| 国产精品久久久久久久久久直播| 毛片一区二区三区|