1 条题解
-
1
小破dp
#include<bits/stdc++.h> using namespace std; const int N=100005; int n,nn,k,kk; int f[N][4]; int a[N],b[N],c[N]; int main(){ scanf("%d",&n); for(int i=1;i<=n;i++){ scanf("%d",&a[i]); } for(int i=1;i<=n;i++){ scanf("%d",&b[i]); } for(int i=1;i<=n;i++){ scanf("%d",&c[i]); } f[1][1]=a[1]; f[1][2]=b[1]; f[1][3]=c[1]; for(int i=2;i<=n;i++){ f[i][1]=min(f[i-1][2],f[i-1][3])+a[i]; f[i][2]=min(f[i-1][1],f[i-1][3])+b[i]; f[i][3]=min(f[i-1][2],f[i-1][1])+c[i]; } cout<<min(f[n][1],min(f[n][2],f[n][3])); return 0; }
信息
- ID
- 52
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 4
- 标签
- (无)
- 递交数
- 27
- 已通过
- 17
- 上传者