全部评论
本人已ak,第一题按照结束时间排序,用一个最小堆保存能做的任务价值,遇到来不及做的任务考虑是否替换堆中的最小价值。第二题dp[i][0/1]表示1-i位置时有解的最少操作数量,0代表取a,1代表取b。每次判断a[i]分别与a[i-1]和b[i-1]的关系,b[i]分别与a[i-1]和b[i-1]的关系。如果当前ab都小于前面的ab,则输出-1,否则选择前一位可能的dpmin值,算递推时取b的时候要+1,a不用。
第二题 申请一个辅助数组,先反着遍历 让数组每个尽可能大且有序,并且标记哪一项变了,之后再正着遍历,哪一项变过看能不能变回来 最后求和一下标记数组
第一题,所有任务结束时间点//10,辅助数组保存当前时间点是否有任务,对所有任务排序,按奖励降序同时截止时间降序排列,遍历任务,从该任务所需截止时间点向前遍历辅助数组,如果遇到无任务的时间点,辅助数组=1,统计该任务奖励。 AC 第二题,dfs,每个位置比较前一个位置大小和B的大小,判断是否满足递增,是否需要交换,dfs到最后一位,保存当前最少交换次数,过了55%,时间不够了,不确定错在哪里。
我也好菜,选择也没做完😂😂不知道笔试最后怎么筛选成绩
第一题思路类似lc630
第一题怎么做啊
第二题用二维dp就能a,第一题只过了27%想不明白
相关推荐

点赞 评论 收藏
分享
点赞 评论 收藏
分享
05-03 02:36
Imperial College London 集成电路IC设计 点赞 评论 收藏
分享