一个dp模板题
Posted Emcikem
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个dp模板题相关的知识,希望对你有一定的参考价值。
选择a和b,但是a有代价,b有代价,且a的代价是具有连续性的
#include <iostream>
#include <cstdio>
using namespace std;
const int maxn=2e5+5;
int dp[maxn][2];
int a[maxn],b[maxn];
int main(){
int n,c;
scanf("%d%d",&n,&c);
for(int i=1;i<n;i++)
scanf("%d",&a[i]);
for(int i=1;i<n;i++)
scanf("%d",&b[i]);
printf("0 ");
dp[0][1]=10000;
for(int i=1;i<n;i++)
{
dp[i][0]=min(dp[i-1][1]+a[i],dp[i-1][0]+a[i]);
dp[i][1]=min(dp[i-1][1]+b[i],dp[i-1][0]+b[i]+c);
printf("%d ",min(dp[i][0],dp[i][1]));
}
return 0;
}
以上是关于一个dp模板题的主要内容,如果未能解决你的问题,请参考以下文章