DP
从下往上动态的决策
再由决策来改变上一层的状态
(刚开始没有确定从何下手,初始状态的确定,目标状态)
#include<iostream>
using namespace std;
#define max(a , b) a>b?a:b
int rem[110][110];
int main()
{
freopen("input.txt","r",stdin);
int c ,N ,i , j;
cin>>c;
while(c--)
{
cin>>N;
for(i= 1; i <=N; i ++)
for(j = 1; j <=i; j ++)
cin>>rem[i][j];
for(i = N ; i >0; i --)
for(j = 1; j <= i-1 ; j ++)
rem[i-1][j] +=max(rem[i][j] ,rem[i][j +1]);
cout<<rem[1][1]<<endl;
}
return 0 ;
}
本文深入解析动态规划算法的核心思想,通过从下往上的决策过程,逐步优化状态转移,最终高效求解复杂问题。采用实例演示,详细解释如何确定初始状态与目标状态,以及如何利用决策改变上一层状态,实现算法的高效运行。
449

被折叠的 条评论
为什么被折叠?



