USACO 1.5 Number Triangles 数字金字塔(经典dp)
来源:互联网 发布:德州扑克平台 知乎 编辑:程序博客网 时间:2024/05/18 03:24
【USACO1.5.1】Number Triangles 数字金字塔
Time Limit:10000MS Memory Limit:65536K
Total Submit:132 Accepted:88
Case Time Limit:1000MS
Description
观察下面的数字金字塔。写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以走到左下方的点也可以到达右下方的点。 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 在上面的样例中,从7 到 3 到 8 到 7 到 5 的路径产生了最大
Input
第一个行包含 R(1<= R<=1000) ,表示行的数目。
后面每行为这个数字金字塔特定行包含的整数。
所有的被供应的整数是非负的且不大于100。
Output
单独的一行,包含那个可能得到的最大的和。
Sample Input
573 88 1 02 7 4 44 5 2 6 5
Sample Output
30
解题思路:
这道题在刚读小白书的时候就已经做过了,就是一道简单的dp问题,倒着推就可以了。我们定义如下的状态和状态转移方程
状态:a[i][j],表示从a[i][j]到顶部的最大和.
状态转移方程:a[i][j] = max( a[i+1][j],a[i+1][j+1] )+a[i][j].
代码:
/* ID:wikioi_2 PROG: numtri LANG: C++ */# include<cstdio># include<iostream>using namespace std;# define MAX 1000+4int a[MAX][MAX];int main(void){ freopen("numtri.in","r",stdin); freopen("numtri.out","w",stdout); int n; cin>>n; for ( int i = 1;i <= n;i++ ) { for ( int j = 1;j <= i;j++ ) { cin>>a[i][j]; } } for ( int i = n-1;i >=1 ;i-- ) { for ( int j = 1;j <= i;j++ ) { a[i][j] = max(a[i+1][j],a[i+1][j+1])+a[i][j]; } } cout<<a[1][1]<<endl; return 0;}
0 0
- USACO 1.5 Number Triangles 数字金字塔(经典dp)
- USACO:1.5.1 Number Triangles 数字金字塔
- USACO 1.5 数字金字塔 Number Triangles
- Usaco 1.5.1 数字金字塔(Number Triangles)
- USACO——Number Triangles 数字金字塔
- USACO-Section 1.5 Number Triangles(DP)
- 1.5.1 Number Triangles 数字金字塔
- USACO 1.5 Number Triangles (DP动态规划)
- 【坐标型动态规划】Number Triangles数字金字塔(Usaco_Training 1.5)
- USACO Section 1.5 Number Triangles - 最最简单最最经典的DP..
- 【USACO TRAINING】数字金字塔(DP)
- USACO 1.5 Number Triangles
- USACO 1.5-Number Triangles
- USACO 1.5 Number Triangles
- 【USACO1.5.1】Number Triangles 数字金字塔
- [USACO1.5]数字金字塔 Number Triangles
- IOI 1994 USACO 1.5 数字三角形 Number Triangles
- [2016/7/9][usaco.1.5][dp]Number Triangles
- leetcode 日经贴,python code -Remove Duplicates from Sorted Array
- 【USACO2.4.1】两只塔姆沃斯牛 模拟
- UISlider的简单应用
- 计算天数
- UVA 11205 The broken pedometer
- USACO 1.5 Number Triangles 数字金字塔(经典dp)
- 分支-14. 简单计算器(10) 两个数的简单计算器 (10分)
- cf#238 (Div. 1) B. Toy Sum
- The Setstack Computer
- Codeforces 290C
- 大型网站架构
- IOS 微信共享给好友或者朋友圈
- DBUnit单元测试
- 2015.2.16 关于delphi web控件打开新网页时弹出关闭页面(js代码)出错的解决办法研究