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

#POJ1456_Supermarket

时间:2020-07-26 15:56:36      阅读:67      评论:0      收藏:0      [点我收藏+]

标签:一个   perm   过期   如何   分析   class   不能   其他   math   

题意:


\(n\) 个商品,第 \(i\) 个商品利润 \(p[i]\) ,会在 \(d[i]\) 天过期(可以在第 \([1,\ d[i]]\) 天之间售出,不能在第 \(d[i]+1\) 天售出)

问可以获得的最大利润

解:


【并查集+贪心】:

【贪心】:

①:显然,优先考虑利润较大的商品如何售出

②:为了尽可能的包容其他商品,一个商品应该在过期之前尽可能晚地卖出

【并查集】:

首先将所有商品关于利润从大到小排序

从1到n依次考虑每个商品

根据上文分析,第 \(i\) 个商品最好能在 \(d_{i}\) 天卖出,但是如果发现第 \(d_{i}\) 天已经在之前“安排”上了要卖别的商品,就依次考虑在第 \(d_{i}-1,\ d_{i}-2,\ ...\ 2,\ 1\) 天售出,如果找不到空位则不售出第 \(i\) 个商品

但是,暴力从 \(d_{i}\) 天开始往前枚举显然是不可取的

#POJ1456_Supermarket

标签:一个   perm   过期   如何   分析   class   不能   其他   math   

原文地址:https://www.cnblogs.com/Xiwon/p/13379687.html

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