2017年4月15日的网易游戏实习生校招题目,3道题,2小时,对于没有经过ACM训练的人来说时间挺紧,最后没做完。但是毕竟猪场挑高手,自己技不如人,还需要多多努力。回头自己整理了下自己做得题目。可能有错误,可以给我留言。
解题思路:
拿到题目,感觉有点像背包问题,考虑使用DP来做,再考虑一下,我们根据结束时间进行任务分类,并得到最大结束时间,然后建立一个时间数组time[t],数组大小就是之前统计的任务的最大的结束时间t,然后从time[0……]开始依次遍历,进行动态规划。具体过程为:
(1)找到上一个时间点的任务数量time[k-1];
(2)找到所有的结束时间为 t 的任务,然后遍历这些任务,对每一个任务(比如某任务是持续时间为 s 到 t),那么我们计算time[s] + 1; 这样全部计算一遍,找到所有任务里面time[s]+1的最大值&