Codeforces Round #738 (Div. 2) D2题解】的更多相关文章

D2. Mocha and Diana (Hard Version) 至于D1,由于范围是1000,我们直接枚举所有的边,看看能不能加上去就行,复杂度是\(O(n^2logn)\).至于\(n\)到了\(1e5\),就要重新考虑解法. 考虑到树的边数是\(n-1\).也就是说我们枚举的大多数边都是无效的,这个时候就要考虑我们能不能只连有效的边,对于两个连通块而言,显然在这两个连通块之间我们只需要连一条边就可以了.还有一般这种两个图的题,一般都是在一个图中操作,在另一个图中进行合不合法的判定.这里…
Codeforces Round #529(Div.3)个人题解 前言: 闲来无事补了前天的cf,想着最近刷题有点点怠惰,就直接一场cf一场cf的刷算了,以后的题解也都会以每场的形式写出来 A. Repeating Cipher 传送门 题意:第一个字母写一次,第二个字母写两次,依次递推,求原字符串是什么 题解:1.2.3.4,非常明显的d=1的等差数列,所以预处理一个等差数列直接取等差数列的每一项即可 代码: #include<bits/stdc++.h> using namespace s…
Codeforces Round #557 (Div. 1) 简要题解 codeforces A. Hide and Seek 枚举起始位置\(a\),如果\(a\)未在序列中出现,则对答案有\(2\)或\(3\)的贡献. 若\(a\)在序列中出现,找到\(a\)第一次出现的位置\(x\),则说明在\(x\)位置之前需要把\(a\)移动到\(a+1\)或\(a-1\)处,只需要判断\(x\)后面有没有\(a+1\),有没有\(a-1\).对每种数字记录第一次和最后一次出现位置即可. code B…
Codeforces Round #738 (Div. 2) 跳转链接 A. Mocha and Math 题目大意 有一个长度为\(n\)的数组 可以进行无数次下面的操作,问操作后数组中的最大值的最小值是多少 - 操作为:选两个位置\([l,r]\) 如果数组中从\(l\)到\(r\)中每个元素\(a_{l+i}\)变为 \(a_{l+i}\)&\(a_{r-i}\) 思路 &操作是对于每一位上的数字,如果有一个\(0\)则当前位置上就为\(0\) 因此我们可以知道 当某个数字某位变成\…
Codeforces Round #540 (Div. 3) 题目链接:https://codeforces.com/contest/1118 题目太多啦,解释题意都花很多时间...还有事情要做,就选一些题来写吧. B. Tanya and Candies 题意: 在n个数中任意删去一个,如果这个数被删去后,剩余数的奇数和以及偶数和相等,那么就定义这个数为"好数".现在问这n个数中有多少个“好数”. 题解: 预处理出奇数前缀和.偶数前缀和,删去一个数后所有的奇数位置和 就为前面的奇数和…
Codeforces Round #527 (Div. 3) 题解 题目总链接:https://codeforces.com/contest/1092 A. Uniform String 题意: 输入n,k,n表示字符串的长度,k表示从1-k的小写字符(1即是a),现在要求最大化最少字符的数量. 题解: 贪心搞一搞就行了. 代码如下: #include <bits/stdc++.h> using namespace std; int T; int n,k; int main(){ cin>…
Codeforces Round #538 (Div. 2) 题目链接:https://codeforces.com/contest/1114 A. Got Any Grapes? 题意: 有三个人,有三种食物,食物对应的数量为a,b,c,三个人需要的食物量分别为x,y,z. 现在第一个人只吃第一种食物,第二个人只吃前两种食物,第三个人都要吃.问准备的食物数量是否能够满足这三个人. 题解: 简单模拟一下就行了. 代码如下: #include <bits/stdc++.h> using name…
Codeforces Round #531 (Div. 3) 题目总链接:https://codeforces.com/contest/1102 A. Integer Sequence Dividing 题意: 给一个数n,然后要求你把1,2.....n分为两个集合,使得两个集合里面元素的和的差的绝对值最小. 题解: 分析可以发现,当n%4==0 或者 n%3==0,答案为0:其余答案为1.之后输出一下就好了. 代码如下: #include <bits/stdc++.h> using name…
Codeforces Round #499 (Div. 1) 这场本来想和同学一起打\(\rm virtual\ contest\)的,结果有事耽搁了,之后又陆陆续续写了些,就综合起来发一篇题解. B.Rocket 极其简单的一道交互题,有些位置会说反的,那么就选一个数来询问直接选出所有的这样的位置 显然,选择\(\rm 1\)和\(\rm m\)都可以,选择完之后直接二分就行了 代码: #include<cstdio> #include<iostream> #include<…
题目链接: http://codeforces.com/contest/670/problem/D2 题解: 二分答案. #include<iostream> #include<cstdio> #include<cstring> #include<map> using namespace std; + ; const int INF = 2e9; typedef __int64 LL; int n, k; int x[maxn], y[maxn]; bool…