博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj1456 结构体排序+贪心
阅读量:7057 次
发布时间:2019-06-28

本文共 1019 字,大约阅读时间需要 3 分钟。

题意:给出很多商品,每个商品有价值和出售期限,只能在期限内出售才能获取利润,每一个单位时间只能出售一种商品,问最多能获得多少利润。

只需要按照优先价值大的,其次时间长的排序所有物品,然后贪心选择,从它可以选的时间开始往前遍历,如果某个时间点没有出售过商品,那就放在那个时间出售,就这样就行。

1 #include
2 #include
3 #include
4 using namespace std; 5 6 struct work{ 7 int p,d; 8 bool operator<(work a)const{ 9 if(p==a.p)return d>a.d;10 return p>a.p;11 }12 }w[10005];13 14 bool t[10005];15 16 int main(){17 int n;18 while(scanf("%d",&n)!=EOF){19 int i,j;20 memset(t,0,sizeof(t));21 for(i=1;i<=n;i++)scanf("%d%d",&w[i].p,&w[i].d);22 sort(w+1,w+n+1);23 int ans=0;24 for(i=1;i<=n;i++){25 for(j=w[i].d;j>=1;j--){26 if(!t[j]){27 ans+=w[i].p;28 t[j]++;29 break;30 }31 }32 }33 printf("%d\n",ans);34 }35 return 0;36 }
View Code

 

转载于:https://www.cnblogs.com/cenariusxz/p/4790155.html

你可能感兴趣的文章
不要再熬夜了,这是全球公认最健康的作息时间表!
查看>>
用绑定服务来实现放歌的功能
查看>>
bzoj3551 3545
查看>>
hdu5794
查看>>
烂泥:CentOS命令学习之scp复制
查看>>
烂泥:学习ssh之ssh密钥随身携带
查看>>
烂泥:haproxy学习之https配置
查看>>
Spark中map与flatMap
查看>>
mysql 如何优化left join
查看>>
R语言hash
查看>>
深入浅出Mybatis系列(二)---配置简介(mybatis源码篇)
查看>>
字母重排
查看>>
a标签4个伪类的顺序排列
查看>>
css属性
查看>>
excel表格 函数功能
查看>>
js-数组
查看>>
hdu-1548 A strange lift---BFS
查看>>
BZOJ 3224 Tyvj 1728 普通平衡树模板
查看>>
与本应用相关的nginx配置文件放在当前部署文件夹下
查看>>
How to use user’s location in your app?
查看>>