早教吧 育儿知识 作业答案 考试题库 百科 知识分享

一个算法的部分不知道该怎么实现求教!TimeLimit:1secondMemoryLimit:128MB问题描述老师在开学第一天就把所有作业都布置了,每个作业如果在规定的时间内交上来的话才有学分.每个作业的截

题目详情
一个算法的部分不知道该怎么实现求教!
Time Limit:1 second
Memory Limit:128 MB
【问题描述】
老师在开学第一天就把所有作业都布置了,每个作业如果在规定的时间内交上来的话才有学分.每个作业的截止日期和学分可能是不同的
.例如如果一个作业学分为10,要求在6天内交,那么要想拿到这10学分,就必须在第6天结束前交.
每个作业的完成时间都是只有一天.例如,假设有7次作业的学分和完成时间如下:
1 2 3 4 5 6 7
期限 1 1 3 3 2 2 6
学分 6 7 2 1 4 5 1
最多可以获得15学分,其中一个完成作业的次序为2,6,3,1,7,5,4,注意可能还有其他方法.
你的任务就是找到一个完成作业的顺序获得最大学分.
【输入格式】
第一行一个整数N,表示作业的数量.接下来N行,每行包括两个整数,第一个整数表示作业的完成期限,第二个数表示该作业的学分.
【输出格式】
输出一个整数表示可以获得的最大学分.保证答案不超过longint范围.【数据规模】
对于所有数据,N
▼优质解答
答案和解析
我觉得这里用不到并查集.算法其实只要一直维护一个当前最优解就行了,因为任何一个新输入的作业,无非是在最优解中添加一个作业,或者替换一个作业,使最优解保持为最优就行了.在这个问题里,新输入的作业不可能使最优解...
看了一个算法的部分不知道该怎么实现...的网友还看了以下: