![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Codeforces(div. 2)
Kerics
这个作者很懒,什么都没留下…
展开
-
Educational Codeforces Round 115 (Rated for Div. 2) D. Training Session
题目链接:D. Training Session题目大意: 给你n个(x,y)对,其中x是题目的主题 y的题目的难度 ,从中找出三个(x,y)对,要求这三个对要么是x都不同,要么是y都不同,要么是x和y都不相同。思路: 很容易知道总的选择数就是Cn3C_{n}^{3}Cn3也就是n∗(n−2)∗(n−2)6{n*(n-2)*(n-2)\over 6}6n∗(n−2)∗(n−2),那么只要找出不符合的然后相减就能得出最终答案了。那么怎么找出不符合的呢,根据题目不可能存在完全一致的(x,y)对,所原创 2021-11-01 21:26:44 · 131 阅读 · 1 评论 -
Codeforces Round#750 (div. 2) D. Vupsen, Pupsen and 0
题目链接:D. Vupsen, Pupsen and 0思路: 这道题要求构造一个b数组使得与对应a元素的乘积之和为0,并且要求b数组的各项绝对值之和要小于等于1e9,再结合a数组元素值的大小来看,已经暗示了只要将a数组进行相应的调整便可以。改题可以分为两种情况:第一种:n为偶数的情况,此时两两相邻元素之间可以凑为一对,我们写为x y,那么很容易想到b数组对应的为-y x即可让这一对的sum变为0.第二种:n为奇数的时候,这时候我们可以把前三个数单独拿出来计算,而从第四个数开始直到第n个数的做法就可以原创 2021-10-25 11:43:20 · 177 阅读 · 0 评论 -
Codeforces Round #743 (Div. 2) C. Book
题目链接:C.Book思路:基本上就是拓扑排序模板题,一些细节会给在代码当中给与一定注释代码:#include <bits/stdc++.h>using namespace std;const int N=2e5+10;int h[N],e[N],ne[N],idx,n,en[N],day[N];void add(int a,int b){ e[idx]=b; ne[idx]=h[a]; h[a]=idx++;}int top(){ int原创 2021-09-24 16:31:44 · 101 阅读 · 0 评论 -
Codeforces Round #743 (Div. 2) B. Swaps
题目链接:B.Swaps思路(来自于博主%xiao Q):1、首先看看暴力的做法。遍历a[]数组,从b[]数组中找到第一个比a[i]大的数,之后记录交换的次数即i+j-2,然后更新ans。但是显然这个时间复杂度为O(n^2)会超时。2、我们以这个思路为基础,将a[]数组进行升序排序,并将a[]数组中每个数的下标记录下来,然后使用双指针进行查找第一个比a[i]大的数b[j],同样可以达到暴力做法的那种效果,而且时间复杂度也降低了不少代码如下:#include <bits/stdc++.h>原创 2021-09-23 20:27:07 · 145 阅读 · 0 评论