有N个任务,每个任务有一个最晚结束时间以及一个对应的奖励。在结束时间之前完成该任务,就可以获得对应的奖励。完成每一个任务所需的时间都是1个单位时间。有时候完成所有任务是不可能的,因为时间上可能会有冲突,这需要你来取舍。求能够获得的最高奖励。
Input
第1行:一个数N,表示任务的数量(2 <= N <= 50000) 第2 - N + 1行,每行2个数,中间用空格分隔,表示任务的最晚结束时间Ei以及对应的奖励Wi。(1 <= Ei <= 10^9,1 <= Wi <= 10^9)
Output
输出能够获得的最高奖励。
Sample Input
7
4 20
2 60
4 70
3 40
1 30
4 50
6 10
Sample Output
230
思路:很不错的一道题目。
我们肯定希望取得最大的利润,那么利润最大的那个肯定要优先取,那么这个利润取得之后,它的前一秒的那个利润,我们就无法取得了,因为已经过了最大的期限。我们将利润从大到小排列,这一秒的利润取得了,然后我们就利用并查集将这一秒与上一秒联系在一起,直到上一秒为负数,就说明不能再取了。
代码如下:

#include<bits/stdc++.h>
#define ll long long
using namespace std;const int maxx=5e4+100;
struct node{int e;ll w;bool operator<(const node &a)const{if(a.w!=w) return w>a.w;else return a.e<e;}
}p[maxx];
int f[maxx];
int n;int getf(int x)
{if(x<0) return -1;if(f[x]==x) return f[x]=x-1;else return f[x]=getf(f[x]);
}
int main()
{while(cin>>n){for(int i=1;i<=n;i++) {f[i]=i;cin>>p[i].e>>p[i].w;}sort(p+1,p+1+n);ll ans=0;for(int i=1;i<=n;i++){int k=p[i].e;if(getf(k)>=0) ans+=p[i].w;}cout<<ans<<endl;}return 0;
}

努力加油a啊

最高的奖励 51Nod - 1163(贪心+并查集)相关推荐

  1. F 魏迟燕的自走棋(思维+贪心+并查集维护联通块/左部点配对边<=2的匈牙利)

    https://ac.nowcoder.com/acm/contest/9984/F 参考:F 魏迟燕的自走棋(贪心+并查集) 将每个人看成一个点,武器的能力值抽象成边,这样就转化成图论的模型了. 然 ...

  2. Supermarket | 贪心 + 并查集

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

  3. Kruskal算法:贪心+并查集=最小生成树

    http://www.51nod.com/ Kruskal算法的高效实现需要一种称作并查集的结构.我们在这里不介绍并查集,只介绍Kruskal算法的基本思想和证明,实现留在以后讨论. Kruskal算 ...

  4. poj1256(贪心+并查集)

    题目链接:http://poj.org/problem?id=1456 题意:给n件商品的价格和卖出截至时间,每一个单位时间最多只能卖出一件商品,求能获得的最大利润. 思路:首先是贪心,为获得最大利润 ...

  5. HDU多校2 - 6763 Total Eclipse(贪心+并查集)

    题目链接:点击查看 题目大意:给出一张 n 个点和 m 条边组成的无向图,现在每个点都有一个点权,对于每次操作,可以选择一个点以及其周围能够连接的所有点,令其点权减一,当某个点的点权减到 0 时,就相 ...

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

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

  7. Codeforces 437D 贪心+并查集

    这个题目让我想起了上次在湘潭赛的那道跪死了的题.也是最值问题,这个也是,有n个动物园 每个都有权值 然后被m条路径相连接,保证图是连通的,然后求所有的p[i][j]之和.i,j为任意两个zoo,pij ...

  8. 数据结构作业——ギリギリ eye(贪心+优先队列/贪心+并查集)

    ギリギリ eye Description A.D.1999,由坠落地球的"谜之战舰"带来的 Over Technology,揭示了人类历史和远古文明之间的丝丝联系, 促使人类终止彼 ...

  9. bzoj 1604: [Usaco2008 Open]Cow Neighborhoods 奶牛的邻居(切比雪夫距离+multiset贪心+并查集)

    1604: [Usaco2008 Open]Cow Neighborhoods 奶牛的邻居 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 1092  S ...

最新文章

  1. 单目视觉里程计性能估计
  2. Action 中 Response already committed 解决办法
  3. adc0808温度换算公式_adc0808模数转换电路图及程序
  4. Linux help websites
  5. 相对网站根目录寻址 vs 相对当前目录寻址
  6. 【移动开发】Android应用程序中实用的代码框架(一)
  7. idea快速从dao层跳转到mapper.xml文件的插件
  8. python科学计算笔记(十四)pandas数据过滤、清理、转换
  9. Mysql总结_02_mysql数据库忘记密码时如何修改
  10. SQL Server中TEXT类型操作
  11. Bootstrap 2.2.2 发布,重要的 Bug 修复版本
  12. python安装jupyter出现问题_有关jupyterhub安装的问题
  13. php 获取header auth,php CURL Auth请求头和响应头获取
  14. c语言程序设计基础所有知识点,《C语言程序设计》基础知识点总结.doc
  15. 如何删除MySQL服务
  16. 我的世界java版如何加披风_我的世界正版披风怎么换
  17. 最短路径spfa算法
  18. 油猴脚本使用方法与管理插件方法+开发插件与安装插件的方法
  19. 编程实现恩格玛加密机(C++)
  20. 2022年全球光纤机械接头市场前景分析及研究报告

热门文章

  1. uniapp实现动态生成随机图形验证码
  2. Java连接Mysql数据库增删改查实现
  3. jquery html data属性,jQuery Mobile Data 属性
  4. cd : cannot create temp file for here-document: No space left on device
  5. php 置信区间 计算,科学网—置信区间和标准误差 - 邸月宝的博文
  6. h5 app title隐藏_荒岛求生H5:有难度的文字冒险生存游戏,你能生存多久?
  7. 一个按键控制数码管的开和关_基于FPGA的数字电路实验3:点亮数码管
  8. Android开发之APP唤醒小程序,打开小程序,调起小程序以及传参数的实现方法(附加源码)
  9. Android开发之打开指定APP | 打开APP任意页面的方法
  10. Android中Log日志的管理之log工具类