题目https://www.luogu.com.cn/problem/AT_dp_c设
表示对于前
天,以
项目结尾能获得的最大价值。
则:
答案为:。
实现
#include<bits/stdc++.h>
using namespace std;
#define int long long
int n,dp[100005][3];
signed main(){
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
cin>>n;
for(int i=1,a,b,c;i<=n;i++){
cin>>a>>b>>c;
dp[i][0]=max(dp[i-1][1],dp[i-1][2])+a;
dp[i][1]=max(dp[i-1][0],dp[i-1][2])+b;
dp[i][2]=max(dp[i-1][0],dp[i-1][1])+c;
}
cout<<max({dp[n][0],dp[n][1],dp[n][2]});
return 0;
}