codeforces
文章平均质量分 71
qq_45928596
这个作者很懒,什么都没留下…
展开
-
Codeforces Round #746 (Div. 2)——C. Bakry and Partitioning(树形结构)
C. Bakry and Partitioning给出包含n个节点n-1条边的一棵树,每个节点有对应的点权,给出k(2<= k <=1e5),要求删除至少一条边,至多k-1条边,若存在某种方案,使删边后的森林中,每棵树的所有节点总异或值都相等,输出yes,反之no。假设原树Tree的总异或值为x,分析k可知,最终方案要么只删一条边要么删两条边,以下是几种可行情况:1、若x==0,随意断开一棵子树。(子树总异或值为y,x ⨁\bigoplus⨁ y == 0 ⨁\bigoplus⨁ y原创 2021-10-04 02:52:32 · 195 阅读 · 0 评论 -
Educational Codeforces Round 109 (Rated for Div. 2)-C. Robot Collisions(模拟+栈结构)
C. Robot Collisions模拟 数据结构 栈 排序题意:数轴的正半轴上,0和输入的m分别为左右边界。给定n个位置不同且分布在【1,m-1】的机器人,每个机器人都有一个方向,向左或者向右。规则为:所有机器人都会在开始后,以同样的速度,每个单位时间向自己的方向移动一个单位,若碰到边界,原路返回且方向变成反向,任何两个机器人在同一个整数点相遇后,均会爆炸且消失,不再影响其他机器人。问题为:求出所有会爆炸的机器人的爆炸时间点,不会爆炸则对应的机器人输出-1。解题思路:1.首先我们可以通过原创 2021-05-18 23:14:18 · 256 阅读 · 0 评论 -
Codeforces Round #717 (Div. 2)-D. Cut-(双指针+倍增)
D. Cut双指针 动规 倍增分析题意可知,满足条件的分块中,所有元素均互质,即:gcd(a[L] ~ a[R] )= 1。先考虑怎么分块,暴力法可以枚举1~n为起点,往右遍历,每添加一个元素,这个元素的所有质因子都添加进容器表示已存在,当下一个要添加的元素的质因子已经出现了,那就不能添加,起点的最长分块也结束。考虑用双指针,当要添加的元素质因子已经出现时,把前左指针对应元素的质因子全部删掉,且左指针++,直到这个要添加的元素的质因子都未出现过。得出所有点跳一次能到的最远距离,图解:后面要求原创 2021-04-22 14:59:51 · 355 阅读 · 2 评论 -
Codeforces Round #708 (Div. 2)-E1/E2. Square-free division
E1/E2. Square-free division暴力 素数题意n个正整数序列a1-an,先要将它拆分成若干个连续的子序列,要求:子序列长度为1,或子序列中不存在任何两个元素的乘积为平方数。且有最多k次机会,可在拆分前将任意的ai修改成任何一个正整数。E1简单版:k为0,E2困难版:k属于【1,20】求拆分最少思路要连续的子序列中任意两个元素的乘积都不是平方数,即子序列任意两个元素的同一质因子数量之和不能为偶数预处理:素数筛打表,将原序列ai质因子数量大于二的全分解掉,最终原创 2021-03-20 11:16:51 · 243 阅读 · 0 评论 -
Codeforces Round #705 (Div. 2)-D. GCD of an Array
D. GCD of an ArraySTL题意见原题思路见注释代码ll n,q,a,ans=1;vector<int> fac[maxn];map<int,int> mp[maxn];map<pair<int,int>,int> M;void init()//分解质因子 { for(int i=2;i<=2e5;i++) { int now=i; for(int j=2;j*j<=i;j++)原创 2021-03-11 12:12:46 · 280 阅读 · 1 评论 -
Codeforces Round #705 (Div. 2)-C. K-beautiful Strings
C. K-beautiful Strings贪心题意输入n,k,代表待处理字符串的长度和美丽数字,再输入只由小写字母构成的字符串s。定义:如果一个字符串中的任意一个字母的数量都是k的整数倍,则称这个字符串是美丽的。现可对待处理的字符串进行任意次数的元素替换操作。求:让原串变成美丽字符串,且字典序大于等于原串的前提下,在所有解集中字典序最小的答案。思路毫无疑问,首先对原串的每个字母数量计数。预处理,计算出在可以添加字母的条件下,把所有字母数量变成k的整数倍,需要的添加的字母总数量su原创 2021-03-11 12:00:28 · 212 阅读 · 0 评论 -
Codeforces Global Round 13
A. K-th Largest Value思维题意序列a【1】—a【n】,初始值只为0或1,有q次操作定义两种操作为:1、输入x,将a【x】变为1-a【x】。2、输入k,要求输出当前序列中第k大的元素。思路执行操作1时只会让0变成1,1变成0,而整个序列中只有0和1,查询时只需要判断当前序列中1的个数和k的数量关系,操作1下计数序列中当前1的数量,操作2下判断即可。代码void solve(){ cin>>n>>q; int cnt=0原创 2021-03-02 12:32:53 · 252 阅读 · 0 评论 -
Codeforces Round #698 (Div. 2)
A. Nezzar and Colorful Balls标签:思维题意:T个样例下,每个样例输入n和n个整数a1—an(保证a1≤a2≤…≤an)。代表n个球和球上的数字。给每个球上不同的色,要求同一种颜色的球上的数字严格递增,求:最少需要的颜色个数。思路:因为序列ai是非递减的,值相等的球必须涂上不同的颜色,找出其中相等元素的最大值即是答案。代码:#include<bits/stdc++.h>#define ll long long#define LL unsigned l原创 2021-01-29 12:11:03 · 304 阅读 · 1 评论 -
Codeforces Round #697 (Div. 3)
A. Odd Divisor标签:数学题设:T个样例下,每个样例只输入一值n (2≤n≤1014),问:n是否存在一个大于1且为奇数的因子,存在输出yes,否则输出no。思路:n为大于1的奇数直接符合要求,n为偶数的情况:暴力while循环除以2,到奇数或1为止,若此时n为1输出no,反之yes。代码:#include<bits/stdc++.h>#define ll long long#define mem(a,n) memset(a,n,sizeof(a))#define原创 2021-01-26 23:47:41 · 115 阅读 · 0 评论 -
Codeforces Round #696 (Div. 2)
A. Puzzle From the Future标签:暴力题设T个样例下,每个测试样例下给定一个整数n,和一个长度为n,且只由0,1构成的二进制数b。要求输出特定的,长度为n的二进制数a。问题太绕,暂不详细解释。思路用字符串存储,正序遍历,答案串与给定串的各位相加后,所有相邻位置不能同为1或者2。代码#include<bits/stdc++.h>#define ll long long#define mem(a,n) memset(a,n,sizeof(a))#define原创 2021-01-20 16:30:12 · 156 阅读 · 0 评论 -
Codeforces Round #695 (Div. 2)-B. Hills And Valleys
B. Hills And Valleys数学题设:T个样例下,每个样例输入n,和长度为n的序列a【i】各位的值。定义:当j (2≤j≤n−1)时,若 a[j]>a[j+1] 且 a[j]>a[j−1] 则称这点位波峰,若 a[j]<a[j+1] 且 a[j]<a[j−1] 则称这点为波谷。现可对序列中任意一个位置的值修改。问改动一次后,整个序列中波峰和波谷的总数,最少是多少。思路: 计算改动前的峰谷总数是多少后,单个for循环加特判可解决此问题。要解决的就是六点五边原创 2021-01-09 17:05:39 · 1711 阅读 · 7 评论 -
Codeforces Round #693 (Div. 3)-E. Correct Placement
E. Correct Placement简单排序 搜索题设:T个样例下,每个样例给定值n,表示n个图片,接下来是n张图片的长宽。现在要在一张足够大的相框中层叠摆放这些图片,图片可横放也可竖放。定义:每张图片可以不被任意一张图片完全遮挡(长和宽均绝对大于它)即为有效。要求:为每张图片寻找,能使其有效的那张图片的编号,若不存在则输出-1。思路:因为可横放也可竖放,数据处理时按(h,w),(w,h)两组两组进行存储,但是很显然涉及到排序,那么图片的编号也要存储,则按(h,w,i),(w,h,i)两组两原创 2021-01-07 02:43:51 · 240 阅读 · 1 评论 -
Codeforces Round #689 (Div. 2, based on Zed Code Competition)
A. String Generation签到题设:T个样例下,每次给一对N和K(1≤k≤n≤1000),分别代表答案字符串的长度,和答案字符串中最长的回文子序列长度。规定:答案字符串只能用‘a’,‘b’,‘c’三种字符。输出任意符合要求的字符串。思路:k大于1,那么让整个答案字符串最长的回文子序列长度为1即可,那么直接N长度下,循环输出‘a’,‘b’,‘c’即可。B. Find the Spruce动态规划题设:T个样例下,每次输入n,m(1≤n,m≤500),和一张n×m的图,求这张图中原创 2020-12-13 19:24:09 · 174 阅读 · 0 评论 -
Codeforces Round #685 (Div. 2)
目录:A. Subtract or DivideB. Non-Substring SubsequenceC. String EqualityD. Circle GameA. Subtract or Divide签到题设:t个用例,输入一个数n(1≤n≤109)。定义两种操作:1.n(n>1)自减1。2.n除以一个n和1以外的因数。求将数n变成1的最小操作数。思路:粗略考虑:只要n为偶数,操作数必为2,n为奇数时,先自减成偶数,则操作数必为3。对n=1,2,3特判为0,1,2即可。——原创 2020-11-22 05:26:06 · 1060 阅读 · 4 评论 -
Codeforces Round #684 (Div. 2)-C1/C2.Binary Table
C1/C2.Binary Table模拟 构造题设:T个样例下,每个样例输入n,m代表表的行列大小,并输入这个二进制表(只由0和1组成)。现定义操作为:选定2×2大小的四方格中任意三个位置,将其翻转(0->1,1->0),需要把选定的是三个位置坐标输出。输入保证有答案,现需要输出操作数在范围内的任意一种答案。(简单版最大操作数为3nm,困难版为n*m)思路:因两种版本只是操作数的限制不同,思路到位可无视。先将字符串类型的输入转为int型二维数组,再用按位异或来累计处理。(原位为1需要原创 2020-11-18 02:42:04 · 174 阅读 · 0 评论 -
Codeforces Raif Round 1 (Div. 1 + Div. 2)
A. Box is Pull签到题题设:两个点A(x1,y1),B(x2,y2),货物放在A点,移动方式为上下左右拉拽时,货、人同向移动,每次人移动和拉拽都消耗单位时间。求运到B点最短时间。思路:分别求出dx = abs(x1-x2),dy = abs(y1-y2),相加,若两个方位差dx,dy值都不为0,加上转向时消耗的2个单位时间。——AC代码B. Belted Rooms思维题题设:给定一串长度为n (2 ≤ n ≤ 300000)的字符串s,s[ i ]表示表示i点和下一个点(i原创 2020-10-18 00:57:10 · 303 阅读 · 0 评论 -
Codeforces Round #675 (Div. 2)
A. Fence签到题题设:给定三个代表三条边的值:a,b,c,求出任意一个能和这三条边构成一个四边形长度d。思路:知道构成合法四边形的规则是任意三边和要绝对大于第四条边即可。因数据范围是三个1e9,为了防止溢出采用了保守方法。先计算a,b,c中较小两个值的和sum和a,b,c中最大值max,若这个sum已经比a,b,c中最大值max还大了,输出d=1即可,否则,令d=max-sum+1。——AC代码B. Nice Matrix思维题题设:给定一个n×m大小的矩阵,每次可对其中任意一个位置的元原创 2020-10-05 02:47:38 · 1031 阅读 · 0 评论 -
Codeforces Round #672 (Div. 2)
A. Cubes Sorting思维题题设:给定一长度为n的数组a,要求出此数组若进行增序的冒泡排序,其需要交换的次数是否大于n(n-1)/2-1。思路:观察此式子易知,这是一个等差数列的前n项和,首项为1,公差为1,项数为n-1。理解冒泡排序原理可知,在最坏情况下,这是一个完全非递增数列,需要换的总次数即为n(n-1)/2-1。...原创 2020-10-02 09:03:24 · 113 阅读 · 0 评论 -
Codeforces Round #673 (Div. 2)
A. Copy-paste签到题题设:给一串长度为n,值可变的数组,和最大限度k,每次可选择 [1 , n]范围内任意不相等的两序号(i,j),使 a[ j ] = a[ j ] + a[ i ],当数组中最大值会超过k(a[ max ]>k)时不可继续操作,问最多可操作的次数。思路:用小顶堆的优先队列存储所有值,取出最小值,将第二大的值加到最小值上,再将更新后的值插入优先队列,重复操作至最小值会超过k时停止。B. Two Arrays思维题题设:给定一串长度为n数组,和不幸值“T”,要求原创 2020-09-29 16:15:17 · 212 阅读 · 0 评论