码迷,mamicode.com
首页 > 其他好文 > 详细

fjnu2016-2017 低程 PROBLEM C 汪老司机

时间:2017-11-06 20:09:16      阅读:92      评论:0      收藏:0      [点我收藏+]

标签:window   scan   规划   --   using   problem   out   ++   return   

动态规划 方程

#include <iostream>
#include <iomanip>
#include <cmath>
#include <algorithm>
#include <windows.h>
using namespace std;
long a[10010],b[10010],f[10010][20][2];
int main() {
int t;
scanf("%d",&t);
while (t--) {
int n,k;
scanf("%d%d",&n,&k);
for (int i = 1;i <= n; i++) scanf("%I64d",&a[i]);
for (i = 1;i <= n; i++) scanf("%I64d",&b[i]);
for (i = 1;i <= n; i++) {
f[i][0][0] = f[i-1][0][0] + a[i];
f[i][0][1] = f[i-1][0][1] + b[i];
for (int j = 1;j <= k; j++) {
f[i][j][0] = min(f[i-1][j][0]+a[i],f[i-1][j-1][1]+b[i]);
f[i][j][1] = min(f[i-1][j-1][0]+a[i],f[i-1][j][1]+b[i]);
}
}
cout << min(f[n][k][0],f[n][k][1]) << endl;
}
return 0;
}

fjnu2016-2017 低程 PROBLEM C 汪老司机

标签:window   scan   规划   --   using   problem   out   ++   return   

原文地址:http://www.cnblogs.com/ruoh3kou/p/7794608.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!