【贪心+优先队列 / 并查集】【cofun1025】工作安排

本文介绍了如何使用贪心算法结合优先队列和并查集来解决工作安排问题,以帮助约翰在有限的时间内最大化收益。通过时间或报酬排序,策略性地选择任务,实现最佳工作顺序。示例输入和输出展示了算法的有效性。
摘要由CSDN通过智能技术生成

【cofun1025】工作安排

Description
为了让农场有效运转,约翰必须靠自己工作来赚钱。他接到了N项任务,完成每项任务 都要花费一个单位的时间。第i项任务的截止时间为Di,如果能按时完成,可以得到报酬Pi。 约翰从0时刻开始工作,由于他在同一个时间内只能从事一项任务,所以他很难按时完成所 有任务。请帮助约翰计算一下,他最多可以赚多少钱?

Input Format
第一行:单个整数:N,1 ≤ N ≤ 10^5 第二行到N + 1行:在第i + 1行有两个用空格分开的整数:Di和Pi,1 ≤ Di, Pi ≤ 10^9
Output Format
第一行:单个整数,表示约翰可赚得的最多钱

Sample Input
3
2 10
1 5
1 7
Sample Output
17

Hint
先做第三个任务,再做第一个任务

Source
USACO 2009 Open


  • 分析:

  • 贪心 + 优先队列

    1. 按时间排序工作。
    2. 当枚举到第i个工作时,如果时间足够,就直接完成;
      如果时间不够,则与前面完成的工作中报酬最少的比较,若该工作报酬更多
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值