P3093 [USACO13DEC]牛奶调度Milk Scheduling——贪心

mac2022-06-30  23

其实可以用dp   f[j]表示到j时间最大的收益

#include<bits/stdc++.h>using namespace std;int n,f[100000];struct node{ int d,g;}a[1000000];bool cmp(node a,node b){ return a.d<b.d;}int main(){ cin>>n; for(int i=1;i<=n;i++) { cin>>a[i].g>>a[i].d; } sort(a+1,a+1+n,cmp); for(int i=1;i<=n;i++) { for(int j=a[i].d;j;j--)//因为要在a[i].d之前 { f[j]=max(f[j],f[j-1]+a[i].g); } } cout<<*max_element(f+1,f+1+n); return 0;}

转载于:https://www.cnblogs.com/647Z/p/7308759.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)