扯谈
快10点了,居然又一遍AC一道题。只得再来发一篇题解。
题目
P1216 [USACO1.5] [IOI1994]数字三角形 Number Triangles
思路
1.暴力
amazing???
就是把所有情况走一遍
代码就不给了
由于,所以
(可以刷新重看)
2.一种神奇的方法
我们在统计一个节点时,
有没有问题?
因此只要这样把所有点遍历一遍再求出最后一行的最大值即可。
所以
代码
#include<iostream>
#define int long long
using namespace std;
int a[1005][1005];
signed main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
for(int j=1;j<=i;j++){
cin>>a[i][j];
a[i][j]+=max(a[i-1][j],a[i-1][j-1]);
}
}
int maxx=-3e10;
for(int i=1;i<=n;i++){
maxx=max(maxx,a[n][i]);
}
cout<<maxx;
return 0;
}
点个赞呗。