摘要: 原题链接 考察:堆排序 这里涉及一个新算法:对顶堆. 其实我也第一次学 思路: 设序列长度为M,用小顶堆维护序列中M/2+1~M个数,用大顶堆维护1~M/2个数,我们动态地维护输入的数字,如果当前数比小顶堆的堆顶小就加入大顶堆,如果大就加入小顶堆.要注意我们必须保证大顶堆的size不能超过M/2,小 阅读全文
posted @ 2021-01-05 22:46 acmloser 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 原题链接 我愿称lyd为神 考察: 排序+贪心+前缀和 我们将行列分开看,这道题就可以看成均分纸牌的问题,如果纸牌总数不能除尽人数,那么一定无解. 如果可以除尽,本题就是环形分配纸牌问题. 我们利用贪心解题,先想方法让第一个人达到平均数,再想方法让第二个人达到平均数....当计算第i个人,需要的纸牌 阅读全文
posted @ 2021-01-05 16:37 acmloser 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察: 排序+贪心 因为做了七夕祭那道题,就把这道题重新做了一遍 这道题本质考察对中位数的了解 我们要求的答案是累加abs(s[i]-s[k]),i从1~n. 假设货仓位置为k,那么左侧距离和为p,右侧距离和为q,如果p>q,那么我们将仓库往右移动一点,使p减小;同理q>p.我们发现我们要 阅读全文
posted @ 2021-01-05 16:23 acmloser 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察: 堆排序+归并排序 错误思路: 将m个序列排序,堆储存,每个序列都选第一个,选完后pop掉堆顶最大的. 时间复杂度大概是O(mlogn+n*m),但是不能pop掉最大的,如果遇到 a {1,2,2} b{2,9,10}就是输出{3,10,11}的错误答案. 也就是a1+b2不一定比b 阅读全文
posted @ 2021-01-05 11:16 acmloser 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 原题链接 考察:并查集+枚举 错误思路: 接收了所有的判断语句,当出现矛盾的时候玩游戏的两人犯规次数+1,输出犯规最多的人. 很明显错在有裁判的关系是不准确的,因为那段关系不能考虑 正确思路: 枚举每个可能为裁判的人,如果可能为裁判的人>1,则不能确定;如果=1,则输出此人.如果==0,则impos 阅读全文
posted @ 2021-01-05 01:54 acmloser 阅读(62) 评论(0) 推荐(0) 编辑