正题

题目链接:http://poj.org/problem?id=1456


题目大意

有n个货物,有不同的过期时间,过期了就卖不掉了,每个物品卖掉有不同的价值,每天只能卖一个货物,求最大价值。


解题思路

我们可以先排序一下价值
我们用并查集表示每一天,然后我们需要解决的问题是需要快速的找到这一天前最近的没有被占用的一天。
我们可以每次优先最晚卖,一天一旦被占用掉就连向他的上一个,然后如果被占用了那么他的父亲就会指向最晚但在此之前的空闲时间。


code

#include<cstdio>
#include<algorithm>
#include<cstring>
#define N 10010
using namespace std;
struct node{int p,d;
}a[N];
int father[N],n,ans;
int find(int x)
{if(father[x]!=x) return father[x]=find(father[x]);return x;
}
bool cmp(node x,node y)
{return x.p>y.p;}
int main()
{while(~scanf("%d",&n)){for(int i=1;i<=n;i++)scanf("%d%d",&a[i].p,&a[i].d);for(int i=1;i<=10000;i++)father[i]=i;//初始化并查集sort(a+1,a+1+n,cmp);ans=0;for(int i=1;i<=n;i++){if((a[i].d=find(a[i].d))>0){father[a[i].d]=a[i].d-1;//连接ans+=a[i].p;//统计答案}}printf("%d\n",ans);}
}

POJ1456-Supermarket【并查集】相关推荐

  1. 【并查集】Supermarket(poj 1456/luogu-UVA1316)

    Supermarket poj 1456 luogu-UVA1316 题目大意: 有一堆物品,每一件物品都有自己的价值和保质期,每天只能卖出一件物品,问最大价值是多少 原题: 题目描述 有一个商店有许 ...

  2. 【POJ - 1456】Supermarket (贪心,优先队列 或并查集)

    题干: A supermarket has a set Prod of products on sale. It earns a profit px for each product x∈Prod s ...

  3. (POJ - 1456)Supermarket(并查集)

    题目链接:1456 -- Supermarket 原题意比较难理解,下面我给出一个简化版的理解方式:超市里有n个商品.第i个商品必须在保质期(第di天及之前)卖掉,若卖掉可让超市获得pi的利润,但是每 ...

  4. poj 1456 Supermarket (贪心, 并查集)

    链接: http://poj.org/problem?id=1456 题目: Description A supermarket has a set Prod of products on sale. ...

  5. 【贪心】 POJ 1456 Supermarket 详解 (并查集/二叉堆优化)

    题目链接:POJ-1456 题目大意 有n件商品,每件商品的利润为,销售日期的截止时间为(即只能在时间前销售该物品).一天只能销售一件物品.问这n件商品的最大利润为多少 方案一 分析 有两种贪心策略, ...

  6. Supermarket | 贪心 + 并查集

    Supermarket | 贪心 + 并查集 from poj 1456 from acwing 145 时间限制 :2s 内存限制:65M Description: A supermarket ha ...

  7. POJ1456贪心(set或者并查集区间合并)

    题意:       给你n商品,每个商品有自己的价值还有保质期,一天最多只能卖出去一个商品,问最大收益是多少? 思路:       比较好想的贪心,思路是这样,每一次我们肯定拿价值最大的,至于在那天拿 ...

  8. poj 1456 Supermarket 贪心+并查集(个人感觉有点难判断出来

    poj 1456 这第一眼还觉得只要贪心就可以了,但是emmm看了大佬的题解居然真的要用到并查集= = 大佬清晰的思路 大佬舒服的代码 #pragma warning(disable:4996) #i ...

  9. 蓝桥备赛第四周 同余+并查集

    文章目录 0x33 同余 同余类+剩余系+费马小定理+欧拉定理及推论 最幸运的数字 题解 这次的代码很多东西:欧拉函数快速求解,gcd,快速乘,各种定理,建议当模板背 10LL 转换成长整型 快速乘+ ...

  10. POJ 并查集 题目汇总 ——czyuan原创(转)

    继续数据结构的复习,本次的专题是:并查集. 并查集,顾名思义,干的就是"并"和"查"两件事.很多与集合相关的操作都可以用并查集高效的解决. 两个操作代码:    ...

最新文章

  1. linux一个进程通知另外一个进程,Linux进程通信学习笔记
  2. (六)构建Docker私有仓库、Gitlab仓库和持续集成环境
  3. 使用asp.net 2.0中的SqlBulkCopy类批量复制数据
  4. 设计模式在实际业务应用中的介绍之2——业务工厂
  5. pytorch自定义模型执行过程
  6. cstring移除指定字符串_从String中移除空白字符的多种方式!?差别竟然这么大!...
  7. 同步与异步阻塞与非阻塞
  8. 郑大远程计算机应用基础第09,郑大远程教育《计算机应用基础》第09章在线测试...
  9. 博弈论——选举/投票(voting)
  10. 【Python】SVM分类 特征标准化+网格搜索最优模型参数+十折交叉验证
  11. sudo rosdep init 出现 ERROR: cannot download default sources list from:
  12. 当KPI说谎:数据科学错误的高昂代价
  13. 论文查重的标准是怎样的?
  14. c语言写入数据到txt,c语言如何将printf产生的数据写到txt文件中
  15. Windows10+MinGW+Codelite完成C++编写平台安装
  16. 虾扑 erp 神技能分析,shopee 卖家的得意助手
  17. linux中dd命令增加内存使用率,Linux 下使用 dd 命令进行硬盘 I/O 性能检测
  18. 进制转换 二进制,八进制,十进制,十六进制互转
  19. mysql之关联更新(update join,用b表更新a表记录)
  20. 多档电位器换挡不准确问题

热门文章

  1. 计算机专业考研末流211和双非,211大学考985研究生难吗,如何看待本科985学生读研去211学校?...
  2. html让ul的li自动居中,css ul li导航菜单居中问题解决方法
  3. egg前面加什么_国威说阀:阀门前面为什么加国标美标日标之类的?
  4. android 设置folder类型,正确配置你的 Android 项目
  5. java buffalo_随你怎么玩!Buffalo 网络硬盘新潮流
  6. 前端 input怎么显示null_小猿圈WEB前端之HTML5+CSS3面试题(一)
  7. ueditor如何设置上传图片的高度宽度_怎么设置天猫主图
  8. 7-1 矩阵链相乘问题 (20 分)(思路+详解+题目解析) 动态规划做法
  9. [JavaWeb-MySQL]数据库的备份和还原
  10. [Java基础]注解概念