POJ 1456(贪心)
#include <string.h>
#include <iostream>
#include <queue>
#include <stdio.h> using namespace std; struct product{
int deadline;
int val;
friend bool operator<(product n1,product n2)
{
return n1.val<n2.val;
}
}q; bool mark[]; int main()
{
// freopen("in.txt","r",stdin);
priority_queue<product> s;
int m;
while(scanf("%d",&m)!=EOF)
{
for(int i=;i<m;i++)
{
scanf("%d%d",&q.val,&q.deadline);
s.push(q);
}
memset(mark,true,sizeof(mark));
int ans=;
while(!s.empty())
{
q=s.top();
s.pop();
for(int i=q.deadline;i>=;i--)
{
if(mark[i]) {
ans+=q.val;
mark[i]=false;
break;
}
}
}
printf("%d\n",ans);
}
return ;
}
http://poj.org/problem?id=1456
题意:在超市里,每一件物品都是有保质期的,而这个超市每卖一件商品所需要的时间是一天,问,在保质期结束前,可获得的最大利润是多少。
思路:有人说可以用并查集,但我做的并查集的题目不多,理解也不是很深,所以我也不知道怎么用并查集来做,但是,这道题很明显就是一个贪心的题目,所以我用的贪心的办法做的。首先,把商品按利润从大到小来进行排个序,然后把每一件商品都先试着在截止日期那天卖出去,如果那天被其他的商品占用了的话,那么在往前推一天,这样就可以求出最大利润。
我是用优先队列来做的。首先构造一个包含截止日期和价值的结构体,并在里面写个判断的操作。
然后构建一个结构体类的优先队列就可以了。
由于优先队列不怎么会,然后我还是以为优先队列的队顶是front,其实是top
POJ 1456(贪心)的更多相关文章
- POJ - 1456 贪心+并查集
		做法一:直接贪心,按照利润排序,然后直接尽量给每个活动安排到最晚的时间即可.时间复杂度O(n * d)当d都为10000时,很容易超时.由于这题数据比较水,所有贪心未超时. AC代码 #include ... 
- poj 1456 贪心+STL
		题意:有n个商品,每个商品如果能在截止日期之前售出就会获得相应利益,求能获得的最大利益 一开始对每个时间进行贪心,后来发现后面的商品可以放到之前来卖,然后就wa了 这里就直接对价格排序,把物品尽量放到 ... 
- POJ - 1456 贪心 堆常用操作 注意细节
		题意:给定n个商品的deadline和profit,求每天卖一件的情况下的最大获利 显然是一道贪心 按deadline从小到大排序好,动态维护小根(profit)堆的大小<=当前deadline ... 
- POJ 1456 (贪心+并查集) Supermarket
		有n件商品,每件商品有它的利润和售出的最后期限,问能够得到的最大利润是多少 这道题和 HDU 1789 Doing Homework again 几乎一模一样,只不过这个是求最的扣分,本题是求最大利润 ... 
- Supermarket POJ - 1456 贪心+并查集
		#include<iostream> #include<algorithm> using namespace std; const int N=1e5; struct edge ... 
- POJ 1456  Supermarket  区间问题并查集||贪心
		F - Supermarket Time Limit:2000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Sub ... 
- POJ 1456——Supermarket——————【贪心+并查集优化】
		Supermarket Time Limit:2000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Submit ... 
- POJ 1456 - Supermarket - [贪心+小顶堆]
		题目链接:http://poj.org/problem?id=1456 Time Limit: 2000MS Memory Limit: 65536K Description A supermarke ... 
- POJ 1456  Supermarket(贪心+并查集)
		题目链接:http://poj.org/problem?id=1456 题目大意:有n件商品,每件商品都有它的价值和截止售卖日期(超过这个日期就不能再卖了).卖一件商品消耗一个单位时间,售卖顺序是可以 ... 
随机推荐
- Lua 之string库
			标准string库 基础字符串函数 string.len(s) 返回一个字符串的长度,例如 string.rep(s, n) 返回一个新的字符串,该字符串是参数s重复n次得到的结果,例如 )) -- ... 
- fis总结
			1.fis捕获组 $1.$2.$3……是正则表达式替换中对捕获组的引用 $0或$&是对整个匹配字符串的引用 2.fis命令 fis3 release -d ../output prod -wL ... 
- php-fpm进程关闭与重启脚本详解(转)
			先来理解一下什么是php-fpm PHP-FPM是一个PHP FastCGI管理器,是只用于PHP的. PHP-FPM其实是PHP源代码的一个补丁,旨在将FastCGI进程管理整合进PHP包中.必须将 ... 
- mysql数据表分表策略2(转)
			mysql分表方法: 方法一. 做数据库集群! 主从数据库 双向热备份(或一对多的数据库实时备份策略),这样可将数据库查询分摊到几个服务器去(可跟服务器负载均衡结合起来架构) 优点:扩展性好,没有多个 ... 
- Intellij Idea中运行tomcat 报內存溢出 解决方案 火龙战士 火龙战士
			在Run/Debug configuration 的你要运行行的tomcat里面的 vm options里面输入 -server -XX:PermSize=128M -XX:MaxPermSize=2 ... 
- asp.net mvc中在使用async的时候HttpContext为null的问题
			摘要 HttpContext上下文并不是无处不在的.详情可以看下Fish Li的文章,解释的比较清楚. HttpContext.Current并非无处不在 问题复现 public async Task ... 
- TP框架整合Swagger UI接口文档
			1.下载swagger ui:http://swagger.io/swagger-ui/: 2.在应用目录里新建一个目录xxx:如图 3.解压后把dist目录的所有文件拷贝到新建的目录里面: 4.在新 ... 
- 关于动态URL地址设置静态形式
			动态URL地址:http://station.com/index.php?c=play&a=index&id=12345 静态URL地址:http://station.com/play ... 
- 有关jquery checkbox获取checked的问题
			$("input").attr("checked"); <input type="checkbox" value="1&qu ... 
- 【干货理解】理解javascript中实现MVC的原理
			理解javascript中的MVC MVC模式是软件工程中一种软件架构模式,一般把软件模式分为三部分,模型(Model)+视图(View)+控制器(Controller); 模型:模型用于封装与应用程 ... 
