题干解析
- 看题,由
看标签《人类智慧》可得(在洛谷愚人节月赛上学废了),可知这题该用贪心,而题面又与活动安排极为类似,所以此题为正常贪心。
具体思路
- 以 wi 为关键字,进行排序,然后按由大到小的顺序遍历,在每次所能完成的时间段里,找最后的时间点完成该任务。
思路证明
- 本题中任务可分三种情况:
1 完成该任务不挤占其他任务
这没啥好说的…
2 完成该任务挤占了其他任务
因为这题完成任务的价值是倒序(由大到小的),所以被挤占的任务价值一定小于当前任务,进而,当前时段完成该任务为最优
3 该任务被其它任务挤占
与2同理,挤占他的一定比他价值大,所以该任务不能完成
- 至此,思路正确性证明完毕
- 初二蒟蒻,思路如有不当,烦请各位dalao海涵与评论指出
代码
#include<bits/stdc++.h>
using namespace std;
int n,m,num[10001],w[10001],hash[10001],t[10001