随笔分类 - CF
好好加油
摘要:"C. New Year and Permutation" 参考: "Codeforces Round Hello 2020 A~E 题解" 发现了一个网站 "OEIS" ,如果打表找规律的话会很方便,虽然这道题没有用上.... 具体思路可看参考视频。 一般数学题都是打表找规律,如果找不出规律,例如
阅读全文
摘要:"E Common Number" 参考: "Codeforces Round 608 (Div. 2) E Common Number (二分 思维 树结构)" 具体做法可详见参考博客。 关键在于在分了奇偶之后,就是有序的了 在数据范围很大的时候,要尝试降低其复杂度,对答案进行二分就是一种降低复杂
阅读全文
摘要:" D. Harmonious Graph " 好后悔在写这个题之前浪费了几分钟时间,不然我就写出来了.... 因为他就是连通块之间的合并问题,所以就用并查集就好了 复杂度好像也只是线性的吧... 然后就A了 代码:
阅读全文
摘要:" E. Editor " 我们把“(”用1表示,“)”用 1表示,其余字母用0表示,这样形成的一个数组,我们求出它的前缀和 ,只有当$sum[n]==0$且$min(sum[])==0$中的时候,才表示括号正好匹配,且最大嵌套数为$max(sum[])$ 对于一个数组来说,要实现多次单点查询、区间
阅读全文
摘要:"E. Send Boxes to Alice" 首先求出每一个位置的前缀和。 对答案进行复杂度为$\sqrt{a[n]}$的遍历,因为最后的答案不可能大于$\sqrt{a[n]}$ 在 函数中,求的是当因子为$j$时的操作数量 $temp+=min(a[i]\%k,k a[i]\%k)$的原因是在
阅读全文
摘要:"D Feeding Chicken" 从左上角开始,往右下角开始遍历,但是遍历的时候需要注意一点,就是遍历的时候需要连起来,就比如第一行从左往右进行遍历,但是第二行不能从左往右了,因为这样就分开了,所以第二行就应该从右往左遍历,因此,奇数行从左往右遍历,偶数行从右往左遍历。 实现代码: 其他的就很
阅读全文
摘要:"C League of Leesins" 首先找到每一串数字的头和尾两个数字,这两个数字有一个特点,就是它们在输入数据的时候都只会出现一次。我们在输出的时候用头和尾做第一数都可以。 然后第二个数只会出现两次,这样就可以找到第2个数,然后依次类推,就可以找完了 代码:
阅读全文
摘要:" F. Equalizing Two Strings " 有几种情况可以直接判定结果: ① 字母对应个数不一样,可直接判NO ② 当不满足①时,如果有一个字母有2个及以上的个数,也可直接判YES ③ 当不满足①②时我们可以知道,此时的字符串最多也只有26个字符,所以可以直接暴力,一个字符串只交换相
阅读全文
摘要:" E. Yet Another Division Into Teams " 首先要想明白一个东西,就是当一个小组达到六个人的时候,它一定可以拆分成两个更优的小组。 这个题可以用动态规划来写,用一个数组来保存状态,用一个队列来尝试新的状态,但是因为上面的这个特性,每一次只会有三个新的状态。 我们用
阅读全文
摘要:" D. Shichikuji and Power Grid " 参考: "Codeforces Round 597 (Div. 2)" 思路:一个很裸的最小生成树。把建立基站看成是,城市与源点(虚构的)建边。由此建立最小生成树,即可得出答案。 代码: cpp // Created by CAD o
阅读全文
摘要:"E. Another Filling the Grid" 参考: "Codeforces Round 589 (Div. 2) E. Another Filling the Grid 容斥定理" 容斥这个东西可以理解,但是运用到实际的时候,还是觉得有点迷迷糊糊的,不知道套公式会不会是一种可行的办法
阅读全文
摘要:"D Complete Tripartite" 思路:这个题是个染色问题。理解题意就差不多写出来一半了。开始的时候还想用离散化来储存每个点的状态,即它连接的点有哪些,但很无奈,点太多了, 范围内肯定存不完,于是想到用 来写,但是 py 也没有很熟练.....便放弃了。 需要注意的: 要统计总共有多少
阅读全文
摘要:"C Primes and Multiplication" 思路:找到 的所有质数因子,用一个 储存起来,然后对于每一个质因子来说,我们要找到它对最后的答案的贡献的大小,即要找到它在最后的乘积中出现了多少次。 求解方法: 另外,该题还需要用到快速幂的技巧。 代码: cpp // Created by
阅读全文
摘要:"F. Konrad and Company Evaluation" 参考: "[codeforces 1230F]Konrad and Company Evaluation 暴力" 思路:题意分析见参考博客。因为求的是三元组的个数,所以在保存的时候的时候就保存为有向图,让工资少的员工指向工资多的员
阅读全文
摘要:"E. Kamil and Making a Stream" 参考: "Codeforces Round 588 (Div. 2) E. Kamil and Making a Stream 求树上同一直径上两两节点之间gcd的和" 思路:求的就是 之间所有最短路的 之和。 用一个 来储存每一个结点可
阅读全文
摘要:"D. Marcin and Training Camp" 参考: "D. Marcin and Training Camp" 思路:首先先确定最大成员的$a_i$,因为不能够某个成员 认为自己比其他所有成员都厉害,所以必须要有一个人 来压制他。压制有两种方法:①$a_j$跟他一样大 ②${a_i}
阅读全文
摘要:"C Anadi and Domino" 参考: "Anadi and Domino" 思路:分为两种情况: ①`n ② ,在这种情况下肯定会出现某两个点 和`b a`和 都有一条边,那么,只能够在其中一条边上放多米诺牌,而另外一边不可以。那么我们就可以将它分成两部分,一个是连接 的边,一个是连接
阅读全文
摘要:"C White Sheet" 思路:先看代码,分成了四个条件。第一个和第二个表示的都是当白矩形存在某个黑矩形内部的情况。 另外就是:白矩形位于两个黑矩形的并集区域。 即可分为两种情况,一种是白矩形位于竖的区域(条件三),上图: 那么黄色区域就是判断范围 另一种是横的区域(条件四): 黄色区域即判断
阅读全文
摘要:"G1 Into Blocks (easy version)" 参考: "Codeforces Round 584 Dasha Code Championship Elimination Round (rated, open for everyone, Div. 1 + Div. 2) G1. In
阅读全文
摘要: "D. Cow and Snacks" 参考: "Codeforces 1209D. Cow and Snacks" 思路:利用并查集,构建一个生成树,然后树的边数就是能够开心的客人的人数。用一个条件 (我在代码里反了一下),来统计某一种味道的菜是否已经被吃掉,如果等于,则证明已经被吃掉。 另外
阅读全文