
DFS
清泠,
慢慢成长的小白白,
展开
-
Codeforces Round #648 (Div. 2)
这次状态不好,总是wa题,心态都有点炸了,这里写下CDEF(F有时间就写上)传送门C. Rotation Matching主要思路: 主要是看两个相同的值的差距距离,然后计算差距距离最多的数值是多少即可解题思路:这题还是比较简单的思维题首先我们可以想到我们计算两个数组相同值差的距离,这里我们用: 第一个数组的值的位置 - 第二个数组值的位置 + n % n 即可,表达式:(res是记录的差值为x时的个数)scanf("%d",&b[i]);int x = (aa[b[i.原创 2020-06-09 00:51:43 · 324 阅读 · 0 评论 -
Codeforces Round #646 (Div. 2)
这次CF有事没打,后期补了ABCE传送门A. Odd Selection总思路: 循环找出奇数个奇数,判断是否存在符合的情况解题思路:首先要求 x 个数,他们的数之和为奇数这个题有O(1) 做法,不过相对麻烦些,这里写一下稍微思维简单些的O(n)做法首先输入,我们求出 有 a 个奇数, b 个偶数给予的 x 的个数,我们肯定会选出奇数个奇数,剩下的选偶数就可以,所以我们根据这个规律直接循环。for (int i = 1; i <= x; i += 2){ i.原创 2020-06-01 23:29:57 · 419 阅读 · 0 评论 -
Codeforces Round #635 (Div. 2)
这里单纯写下C题的题解,后期有时间写下别的题传送门C.Linova and Kingdom设计知识点:dfs、思维、贪心解题思路:根据题意我们了解掉,我们尽量选距离根节点1较远的点作为工厂,肯定会考虑到每个点距根节点的距离,这里利用dfs来搜索进行存储,然后我们如何选择点成为了关键这里我们想一下,如果当前点作为工厂,那么他的贡献度为 : 当前点的深度 - 前面的黑色的点(就是工厂)那么我们转换一下,我们的贪心思想是 当前点的深度 - 其子节点的数目 (deep - size.原创 2020-05-28 18:19:29 · 210 阅读 · 0 评论 -
Codeforces Round #639 (Div. 2)
这里补一下CD题,B题看错题浪费好多时间,太菜了比赛链接C题解题思路C题阅读理解,很迷很迷很迷…好不容易才理解好,对于这个无限的房间,我们将n作为一个周期,因为a的下标是k%n,所以我们0 ~ n-1 作为一个周期,这里可以想一下第一个周期里的 k + ai ,第二个周期k + n + ai (因为a的下标对n取模,所以是一样的),这里可以看成,第一个周期的占了下一个周期的第二个位置,然后下一个周期占据下下个周期的第二个位置… 循环完后,每个周期的第二个位置其实都被占据了(这里的第二个位置.原创 2020-05-12 11:05:56 · 199 阅读 · 0 评论 -
CodeForces - 246
题目链接这次个人赛的C和D直接给我干懵了,C的话是自己的逻辑混乱了,D是自己写的时候又忘记了以前犯的错误了C题解题思路C题直接枚举,不过有一定的技巧与思维首先我们想,他一般情况下是先枚举一个数字的,然后2个…那么这里有个坑就是,如果有 1 2 3 ,那么我们先枚举完3了,然后再枚举 1 2,那么他的和相同了,肯定是不行的,所以我们这里想从大到小枚举还有一种方法就是,我们保证一些数...原创 2020-04-21 16:35:19 · 207 阅读 · 0 评论