算法:截止日期

该博客讨论了一种使用贪心算法解决截止日期问题的策略。在给定的题目中,每个题目有分数和截止日期,需要在截止日期前完成以获得分数。通过从最晚的截止日期开始,选择最高分值的题目依次完成,可以达到最大总分。博客提供了输入输出形式、样例以及算法思路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

贪心算法:截止日期问题

【问题描述】

某学科老师布置了n个题目,每个题目都有相应的分数及截止日期。各个题目的分数及截止日期可能并不相同。对某题目而言,如果在该题目的截止日期前完成则可获得对应的分数,否则无法得分。假设每个题目均需要花费一天的时间来完成,这期间无法完成其他题目。请你设计算法指定题目的完成计划,从而使总的得分最大。

下面给出一个包含了7个题目及相应的分数、截止日期的实例:
在这里插入图片描述
对该实例而言,得分最大的作业完成方案为花费4天时间依次完成题目2,6,3,7。得分为15。
【输入形式】

输入数据第一行为一个整数n (0 <= n <= 10000), 表示题目数目
之后n行各有两个整数, 第i行为 pi, di (1 <= pi, di <= 10000),分别表示第i个题目的分数和截止时间

【输出形式】

一个整数, 为当前条件下的最大得分

【样例输入】

4 
50 2 
10 1 
20 2 
30 1

【样例输出】

80

【问题解答】

  1. 基于贪心算法的思路,一个大问题首先分解为各个小问题,最优解由局部最优解得来,小问题之间没有相互关联。

  2. 此题中输入的日期有个最大值,即最晚的截止日期,例如样例中的2,即为本题的截止日期。

  3. 假设当前为第二天,那么第二天及

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值