数字三角形
Posted qaqq
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数字三角形相关的知识,希望对你有一定的参考价值。
luogu P1216 [IOI1994][USACO1.5]数字三角形 Number Triangles
由下至上,算出每一条路径的最大值,存起来,直至三角形顶端
转移状态方程式:
s[i][j]+=max(s[i+1][j],s[i+1][j+1])
#include<cstdio> using namespace std; int max(int a,int b) { if(a>b) return a; else return b; } int s[1010][1010]; int main() { int r; scanf("%d",&r); for(int i=1;i<=r;i++) for(int j=1;j<=i;j++) scanf("%d",&s[i][j]); for(int i=r-1;i>0;i--) { for(int j=1;j<=i;j++) { s[i][j]+=max(s[i+1][j],s[i+1][j+1]); } } printf("%d",s[1][1]); return 0; }
以上是关于数字三角形的主要内容,如果未能解决你的问题,请参考以下文章