本文主要是介绍AW300 任务安排1,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目地址
易错点:
- f[i]=min(f[j]+任务批(j~i)的总价格(sumT[i]*(sumC[i]-sumC[j]))+无限远点的弧光灯(启动费用*(sumT[n]-sumT[j])).
#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
const int MAXN=5200;
int f[MAXN],sumT[MAXN],sumC[MAXN];
int main(){memset(f,0x3f,sizeof(f));int n,s;scanf("%d%d",&n,&s);for(int i=1;i<=n;i++){int t,c;scanf("%d%d",&t,&c);sumT[i]=sumT[i-1]+t;sumC[i]=sumC[i-1]+c;}f[0]=0;for(int i=1;i<=n;i++){for(int j=0;j<i;j++){f[i]=min(f[i],f[j]+sumT[i]*(sumC[i]-sumC[j])//批次[j~i]的费用(不包括启动费用)+s*(sumC[n]-sumC[j])//无限远点的弧光灯);}}printf("%d\n",f[n]);return 0;
}
这篇关于AW300 任务安排1的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!