51Nod-1002-数塔取数问题
2018-01-09 17:17
337 查看
这道题很明显会想到直接dp,但是在此之前我并不知道如果dp会不会超时,因此网上查了一下,居然搜到了大佬千千特别简单的思路戳这里
思路是逆序向上,这样的确可以减少很多时间复杂度。
两相对比,从上往下之所以时间复杂度不能降低是因为不能剪枝,必须遍历完整棵树才能知道最大值是多少。而从下往上的话每一层可以少一个数。
具体思路没太多好说的,代码不长,看完就懂。
#include<bits/stdc++.h> using namespace std; #define LL long long #define MAX_LEN 50001 int main() { int n; cin>>n; int a[500][500]; for(int i=0;i<n;i++) { for(int j=0;j<=i;j++) { cin>>a[i][j]; } } for(int i=n-2;i>=0;i--) { for(int j=0;j<=i;j++) { a[i][j]+=max(a[i+1][j],a[i+1][j+1]); } } cout<<a[0][0]<<endl; }
相关文章推荐
- 51nod 1002 数塔取数问题
- 51Nod 1002 数塔取数问题
- 51Nod-1002-数塔取数问题
- 【数塔】1002 数塔取数问题【51nod】
- 51nod 1002 数塔取数问题
- 【51Nod】1002 数塔取数问题
- 51nod 1002:数塔取数问题
- 51nod 1002 数塔取数问题
- 51nod-【1002 数塔取数问题】
- 51Nod--1002 数塔取数问题
- 1002 数塔取数问题 51NOD
- [51nod] 1002 数塔取数问题 [dp][空间优化]
- 51nod -- 1002 数塔取数问题(一级算法题)
- 51Nod 1002 数塔取数问题
- 51Nod-1002 数塔取数问题【DP】
- 51nod 1002 数塔取数问题
- 51Nod 1002 数塔取数问题
- 51nod 1002 数塔取数问题
- 51Nod 1002 数塔取数问题
- 51nod 1002 数塔取数问题(简单DP)