codeforces训练专栏
shordinger
这个作者很懒,什么都没留下…
展开
-
Codeforces 1436D Bandit in a City
本题是一个不错的贪心(不愧是c-贪心-f),大致题意就是给一棵树,每个节点都有权值,父节点可以把权值交给子节点,问最后大一条支链上面的权值和最小是多少。题目链接思路,首先我们可以看到,对于某一个拥有子节点的父节点,与他的子节点们存在这样的关系。即他对于他所有的支链都会贡献最后他留下来的值,但是如果继承给子节点,那么就只会有影响到唯一的一个部分,且最终贡献总和也会变为本身的大小,因此可以很容易的看到,最后所有的值都到子节点上面去了。那就非常简单了,记录一下每一个父节点的子树数量和包括他本身在内的所有后续节点原创 2020-10-30 22:36:22 · 121 阅读 · 0 评论 -
Codeforces 1428E Carrots for Rabbits
今天这题是一个非常不错的思维题,贪心专业户的我表示非常满足。题目链接:题目题意:将n个数字拆分成k个,比如5可以拆分为(1+1+2)变成3个。拆完之后求拆出来的所有数字的平方和最小为多少思路:首先进行一个简单的证明,对于任意一个正整数,将他拆分为小于等于他本身的个数个数字之后的最小平方和必然是尽量平均之后的结果,这个可以用平方平均值很快看出来。那么就可以O(1)算出来他的贡献。其次,我们进行贪心,假设我们已经对将当前的数字拆分为了q个数字,其中第i个数字被分为了Ai个(其中初始状态全部为1)。那么就有原创 2020-10-29 22:14:45 · 163 阅读 · 0 评论 -
Codeforces 训练计划
这篇文章前面先说明一下接下去的一项计划:出于当前本人代码质量不高导致时常WA多发才过,思维不够敏捷导致水题也不能快速做过,本人需要一些针对性的计划来训练。1、初始训练题量为100题,要求为codeforce上Div2的C题以上2、由于A、上下界B、大小于符号C、题目看错,翻译错误D、其他非思维因素的简单错因的WA,都需要假一罚五,一题可以重复。具体多少罚款不随题目难度增加而减少,一律五题。3、周一至少两题,周二三题,周三一题,周四两题,周五两题,周六五题,周日五题,不包括日常训练与其他比赛的题目,仅原创 2020-10-28 22:13:10 · 659 阅读 · 0 评论 -
Codeforces 1437D Minimal Height Tree
题意:给一个数组,这个数组是一棵树的BFS序列,每个节点的子节点必然从小到大遍历。请构造一棵树满足这个序列并且深度最小,输出深度思路:由于每个节点的子节点必然从小到大遍历,因此对于一段严格单增的区间,必然是放在同一个父节点下面最好。那么我们进行贪心,对于根节点,我们往里面放入第一段区间,然后记录其中的节点有多少个记录为p[1],对于接下去的p[1]个区间,我们都可以放在这个区间的下面,然后把这些放进去的所有区间总共有多少个记录为p[2]…以此类推,直到放完为止。最后输出我们的层数即可。代码:#inc原创 2020-10-28 22:11:34 · 267 阅读 · 1 评论