![](https://img-blog.csdnimg.cn/20200401175126299.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
codeforces题解
文章平均质量分 58
只会做水题
丶di
这个作者很懒,什么都没留下…
展开
-
Educational Codeforces Round 108 (Rated for Div. 2) A-D
Educational Codeforces Round 108 (Rated for Div. 2)文章目录A. Red and Blue BeansB. The Cake Is a LieC. Berland RegionalD. Maximum Sum of ProductsA. Red and Blue Beans题意:有红豆r个,蓝豆b个,每次分配rir_iri个红豆和bi个蓝豆b_i个蓝豆bi个蓝豆打包且保证ri和bir_i和b_iri和bi都大于等于1且保证∣ri−bi∣<原创 2021-04-30 09:34:58 · 201 阅读 · 4 评论 -
Divide by Zero 2021 and Codeforces Round #714 (Div. 2) C. Add One
C. Add One题意:存在一个操作,使得数字上每位数都按照十进制进行+1,例如1→2,9→10,98→109,109→2110。输入一个整数n,可以进行m次这样的操作,输出这个数最后的位数题解:n的范围是1e9,操作次数m的2e5,直接模拟肯定会超时爆精度,所以必须找规律。找规律就需要固定一个点进行打表,其次我们观察到位数变化是在9变成10的时候,所以我们可以考虑先把单个位数变成10后,在以10为基础进行m次操作所能得到对位数贡献进行打表找规律。2, 2, 2, 2, 2, 2, 2, 2,原创 2021-04-12 09:48:28 · 227 阅读 · 0 评论 -
Codeforces Round #685 (Div. 2) ABCD
传送门文章目录A. Subtract or DivideB. Non-Substring SubsequenceC. String EqualityD. Circle GameA. Subtract or Divide题意:把n变成1,可以整除n或者n减一,问操作数最少是多少题解:特判1,2,3,然后就会发现最小的倍数是2,就可以分奇偶考虑,偶数除去除2得到的因子后减1,奇数减一1后除去除2得到的因子再减1。#pragma GCC optimize(2)#include<bits/stdc原创 2020-11-22 12:56:55 · 157 阅读 · 0 评论 -
Codeforces Round #681 (Div. 2, based on VK Cup 2019-2020 - Final)ABCD
A. Kids Seating 构造题意:n个小孩,有1,2,3…4n-1,4n个座位,每个小孩只能做一个位置,而且每个小孩坐的位置任意两个座位的编号a,b满足以下条件①gcd(a,b)!=1②a%b!=0和b%a!=0#pragma GCC optimize(2)#include<bits/stdc++.h> using namespace std;#define AC 0 #define Please return#define endl "\n" #define ll原创 2020-11-04 00:00:59 · 159 阅读 · 0 评论 -
2020CCPC威海H-Message Bomb
2020-CCPC-威海 H-Message BombWhile we enjoy chatting with friends on the internet, it is always annoying that we are overwhelmed by lots of messages in various chat groups. A great majority of these messages are actually not interesting to us, but we may mi原创 2020-10-30 00:15:09 · 275 阅读 · 0 评论 -
2020CCPC秦皇岛部分题解AEFGK
由于个人真的菜,所以我没打秦皇岛,只有一个威海打星名额,上星期跟着队友做志愿者,实则在隔壁房间摸鱼读题,这两天有时间就认真做了做,K题的树型dp让我现场写肯定是写不出来的,所以我还看了别人的代码后做的。至于别的题,后面陆续有时间再做了 没时间也不要喷我QAQ现在已经有人把题目上传到Gym 102769了,有兴趣可以自己去搜一下文章目录A.Greeting from QinhuangdaoE.Exam ResultsF.Friendly GroupG.Good NumberK.Kingdom's Powe原创 2020-10-24 23:59:29 · 955 阅读 · 2 评论 -
2019-2020 ICPC, NERC, Southern and Volga Russian Regional Contest 部分题解ABFHJLN
2020-10-10为了准备CCPC,师兄下午拉了场ICPC练习让我们模拟,负责读题的菜鸡晚上回来重新做了模拟场上有思路的题QAQ文章目录A - BerstagramB - The Feast and the BusF - Data CenterH - Happy BirthdayJ - The ParadeL - Divide The StudentsN - WiresA - Berstagram传送门 CodeForces-1250A#pragma GCC optimize(2)#includ原创 2020-10-11 00:07:49 · 615 阅读 · 0 评论 -
Gym - 100851A Adjustment Office 预处理模拟
在牛客上做的gym某一水题Adjustment Office题目描述Garrison and Anderson are working in a company named “Adjustment Office”. In competing companies workers change the reality, in this company they try to predict the future.They are given a big square board n × n. Initi原创 2020-10-07 16:16:37 · 259 阅读 · 0 评论 -
Gym - 101630 C - Connections 两次dfs强连通图
题目链接:Gym - 101630 C - Connections题目描述输入描述输出描述样例题意一个有向图,有n个点,有m条边,现在需要你删除m-2n条边,使得剩下的2n条边依旧可以组成强连通图,且把删除的边输出题解正反向建图且对各个边进行相同的下标标记,默认1为起始位置,分别在正反图进行dfs遍历,并判断是否经历过该点和该边,这就可以保证有一个强连通图了,故可以直接for遍历选出前n-2*m个没有被遍历过的边了。#pragma GCC optimize(2)#include&原创 2020-10-07 20:58:22 · 180 阅读 · 0 评论 -
Educational Codeforces Round 93 (Rated for Div. 2)A-B-C-D
比赛链接:Educational Codeforces Round 93 (Rated for Div. 2)A.Bad Triangle 思维题意:n个数从小到大,是否可以挑出三个数不能构成三角形,输出这个三个数的下标,否则输出-1#pragma GCC optimize(2)#include<bits/stdc++.h> using namespace std;#define endl "\n"int main(){ ios_base::sync_with_stdio(原创 2020-08-15 14:30:29 · 404 阅读 · 0 评论 -
Codeforces Round #661 (Div. 3)D-E1
D. Binary String To Subsequences题意:一个长度为n的字符串,可以从左到右拆分到多个集合中,保证该集合的前一个字符与后来的字符不同,问最少需要多少个集合。题解:用两个数组t0和t1分别存储0和1模拟,每个0隶属于它出现时t1数组最后一个1的位置,每个1隶属于它出现时t0数组最后一个0的位置,若遇到10或01可以刚好可以凑成一队就都pop消去,若凑不成,ans++表示多开一个集合。#pragma GCC optimize(2)#include<bits/stdc++原创 2020-08-07 21:20:31 · 168 阅读 · 0 评论 -
Codeforces Round #658 (Div. 2) D. Unmerge预处理+01背包dp
补题,题目链接:Codeforces Round #658 (Div. 2) D. Unmerge题目描述Let a and b be two arrays of lengths n and m, respectively, with no elements in common. We can define a new array merge(a,b) of length n+m recursively as follows:If one of the arrays is empty, the res原创 2020-08-02 15:48:49 · 162 阅读 · 0 评论 -
CodeForces - 52C-Circular RMQ 线段树区间操作
题目链接:CodeForces - 52C Circular RMQ题目描述You are given circular array a 0, a 1, …, a n - 1. There aretwo types of operations with it:inc(lf, rg, v) — this operation increases each element on the segment[lf, rg] (inclusively) by v; rmq(lf, rg) — this op原创 2020-07-29 16:03:42 · 254 阅读 · 0 评论 -
Codeforces Global Round 9 ABCD
比赛连接:Codeforces Global Round 9 传送门目录A - Sign FlippingB - Neighbor GridC - Element ExterminationD - Replace by MEXA - Sign Flipping题意:可以随意改变a[i]的正负符号,要求至少有(n-1)/2个a[i]-a[i+1]≥0和至少有(n-1)/2个a[i]-a[i+1]≤0题解:相邻两个数的正负符号不同#pragma GCC optimize(2)#include <原创 2020-07-05 16:37:36 · 353 阅读 · 2 评论 -
Codeforces Round #654 (Div. 2)D - Grid-00100矩阵对角线
D - Grid-00100 传送门题意:一个nn的矩阵内用k个1和nn-k个0,R(i)表示第i行的和,C(i)表示第i列的和,求f(A)=( max(R)-min(R ))²+( max(C)-min(C ))²的最小值题解:可以直接观察到,沿主对角线放1是行列差值最均匀的,放满主对线可以放副对角线,放满副对角线可以放副副对角线…以此类推。我还是太菜了,矩阵的题模了很久都没过,哭晕在厕所!#pragma GCC optimize(2)#include <bits/stdc++.h>原创 2020-07-02 14:42:22 · 223 阅读 · 0 评论 -
Codeforces Round #653 (Div. 3)A-B-C-D-E1
Codeforces Round #653 (Div. 3)传送门目录A.Required RemainderB. Multiply by 2, divide by 6C. Move BracketsD. Zero Remainder ArrayE1. Reading Books (easy version)A.Required Remainder题意:在1-n中找到一个k,求符合条件k%x=y的最大k。题解:在[1,n]中,找到x的最大倍数+y,这样就保证了k%x=y,再判断k+y是否在[1,n]原创 2020-06-29 09:56:59 · 449 阅读 · 0 评论 -
Educational Codeforces Round 90 (Rated for Div. 2)D.Maximum Sum on Even Positions
Educational Codeforces Round 90 (Rated for Div. 2)D.Maximum Sum on Even Positions 传送门题意:在原有基础的数组上,可以反转一次数组,使得偶数上的和最大。题解:注意到只可以翻转一次,故可以理解成求最大子序列翻转后最大。可以注意到,如果开始端点是偶数且翻转长度也为偶数或开始端点是奇数且翻转长度也为奇数时,翻转一次是无意义的;故翻转只能考虑开始端点和结束端点奇偶不同时。预处理奇数位-相邻偶数位(贡献≥0),前缀和求出最大连续原创 2020-06-26 13:27:22 · 1689 阅读 · 0 评论 -
Educational Codeforces Round 89 (Rated for Div. 2)A-B-C-D
Educational Codeforces Round 89 (Rated for Div. 2) 传送门A. Shovels and Swords题意:你可以制作两种工具,分别是铲子和剑,制作一把铲子需要2个木棍和1个钻石,制作一把剑需要1个木棍和2个钻石,每个工具可以获得1个翡翠,给你a个木棍和b个钻石,求出最多可获得多少翡翠题解:在群友大佬们都卡了下这道题,所以还是详细写写思维先保证a<b,因为木棍和钻石的钟类交换大小并无影响①a<=2b,选出a与b的差值过大、a=0的情况,此原创 2020-06-12 14:56:41 · 469 阅读 · 0 评论 -
Educational Codeforces Round 88 (Rated for Div. 2)C. Mixing Water
Educational Codeforces Round 88 (Rated for Div. 2)C. Mixing Water题意:热水温度h,冷水温度c,目标温度t先热后冷,两种水来回倒,水的温度不断中和,使得杯子中水的温度与目标温度的差值最小。问最少需要多少杯水。题解:第一种:h=t,只需1杯第二种:(h+c)/2≥t,这时只需2杯第三种:先假设到n+1杯热水,n杯冷水,此时的温度:t ≥ ((n+1)h+nc)/(2n+1)化简可得:t ≥ (n(h+c)+h)/(2n+1)即原创 2020-05-31 17:19:03 · 328 阅读 · 0 评论 -
Codeforces Round #645 (Div. 2)D. The Best Vacation 前缀和+二分
Codeforces Round #645 (Div. 2)D. The Best Vacation假设:一年有n个月,第i个月有d[i]天,每个月是从1号开始到d[i]号,即1,2,3…d[i]号。设某月的某天是s号,就可以获得s个hug拥抱。输入一个x,你需要从这中选出连续的x天,使得其获得的hug拥抱数量最大。需要注意是的这连续的x天中可以有下一年的天数,也就是说这里可以构成一个环,故可以预处理第二年的月份天数,即d[i+n]=d[i]。题解:最有解的最后一天肯定某月份的月底。前缀和预处理原创 2020-05-28 20:13:47 · 271 阅读 · 0 评论 -
Codeforces Round #643 (Div. 2)C
题目链接题意:x,y,z三个整数满足a<=x<=b<=y<=c<=z<=d,求出由边长x,y,z构成三角形的个数题解:设m=x+y,可知a+b≤ m ≤b+c,故b≤y=m-x≤c,即可化简为a≤m-c≤x≤m-b≤b,因为已经设m=x+y,只要求出x,就可以得到y,所以a≤m-c≤x≤m-b≤b,可以表示x,y两个变量的范围由z<x+y可得c≤z<x+y≤d,需要注意的是z<x+y#pragma GCC optimize(2)#inclu原创 2020-05-18 18:14:59 · 248 阅读 · 0 评论 -
Codeforces Round #636 (Div. 3)D. Constant Palindrome Sum
传送门-链接题意:输入一个n和k,第二行输入一个长度为n的数组a,且保证了n为一个偶数,数组a中的每一个元素都不大于k,你可以修改多次,使得a[i]+a[n-i+1]=x(x为某个确定的值),你需要求得修改次数的最小值题解:假设这两个中心对称的数为mn(较小的),mx(较大的),那么需要修改0次时x=mn+mx,需要修改1次时,mn+mx可以表示的值为[ mn+1,mx+k ],需要修改2次时...原创 2020-04-22 21:38:18 · 321 阅读 · 0 评论 -
Codeforces Round #635 (Div. 2)D. Xenia and Colorful Gems
传说门刚好今晚是中国场!其实这道题比较水,但当时思路错,一心想着化简公式,浪费了好多时间a.a题意:三个数组,求(x-y)(x-y)+(x-z)(x-z)+(y-z)*(y-z)的最小值题解:6nlogn,先sort三个数组a,b,c, 六次枚举二分查找,再每次min找最小值,例如:先固定数组a,再在数组b,c中利用lower_bound找到第一个大于等于a[i]的数,#pragma G...原创 2020-04-16 09:15:42 · 1663 阅读 · 0 评论 -
Codeforces Round #634 (Div. 3)ABCD
传送门这场div3全都是模拟暴力题,第一次打到E1题,E2我tle了后面再补把,a.a看见t神22分钟akA.题意:输出一个n,把n分成a和b两个数,且保证a>b题解:这个真的太水了,就不给代码了,答案就是(n-1)/2,B.题意:输入n a b,构造一个长度为n的字符串,保证每长a的子串中有b个不同的字母题解:那就先构造一个长度为b且b个不同字母的子串,然后再加上a-b个相...原创 2020-04-14 11:23:19 · 352 阅读 · 0 评论 -
Codeforces Round #631 (Div. 2)AB
Codeforces Round #631 (Div. 2)A.题意:参加n场比赛,每次获得的名次是a[i],还可以再参加x参比赛,最理想化,不改变原数组的顺序补齐x次,使得名次从1,2,3…N,名次可以重复,求N的最大值可以用桶预处理记录一下名次是否出现过,再暴力从1开始遍历,补齐没有的名次,补齐到不能再补齐位置需要注意的是n和x的大小只有100,所以可能补齐最大N应该是200(a.a...原创 2020-04-05 00:10:46 · 296 阅读 · 0 评论 -
Codeforces Round #630 (Div. 2)ABCD
Codeforces Round #630 (Div. 2) A. Exercising Walk 题目链接题意:需要向左走a步,向右走b步,向下走c步,向上走d步,同个格子可以走重复过,并且给出启示位置(x,y),需要保证x1<=x<x2,y1<=y<=y2我看了别人的题解,A题大串的代码实在看不下去,就写了这份简单短点的。题解:考虑到同个格子可以走重复过,所以...原创 2020-04-01 17:47:19 · 460 阅读 · 2 评论