随笔分类 -  Codeforces

摘要:本题解思路和大部分代码来源于:https://www.luogu.com.cn/paste/irkatb8j E. Restoring the Permutation(贪心) 如果q的前后两个字符不一样。那么都a,b两个串都插入后面的那个字符。 如果前后两个字符一样,那么a插入可插入的最小的那个,b 阅读全文
posted @ 2021-04-17 21:54 mikku 阅读(77) 评论(0) 推荐(0)
摘要:A. Spy Detected! 找到只有1个的数就行 AC代码如下: #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<vector> #include<algorithm> #in 阅读全文
posted @ 2021-04-17 14:15 mikku 阅读(40) 评论(0) 推荐(0)
摘要:题目链接 A. Average Height 奇数放一侧,偶数放一侧即可。 AC代码如下: #include<cstring> #include<algorithm> #include<cmath> #include<iostream> #include<queue> #include<cstdio 阅读全文
posted @ 2021-04-17 13:32 mikku 阅读(54) 评论(0) 推荐(0)
摘要:A. Déjà Vu 本题的思路是找一个位置使得新添加的a所对应的字符不是a即可。 AC代码如下(可能写复杂了): #include<bits/stdc++.h> #define MAXN 300005 using namespace std; typedef long long ll; int t 阅读全文
posted @ 2021-04-04 18:30 mikku 阅读(73) 评论(0) 推荐(0)
摘要:A. GCD SUM 本题题意是求该数和该数各数位相加的gcd。找到最小的大于等于该数的gcd不为1的值即可。 由于被3整除的数,其各数位相加也被3整除。故每3个数一定有一个满足条件。故直接暴力计算即可。 AC代码如下: #include <iostream> #include <vector> # 阅读全文
posted @ 2021-03-30 16:42 mikku 阅读(61) 评论(0) 推荐(0)
摘要:题目链接 这个round做的很差。不知道是因为在学校不习惯还是因为自己又菜了。 比赛时做了3题,第4题一直wa。后来发现忘记判断奇偶性了,第二天起床试了一下就A了。所以勉强算我A了4题吧。 但这次前4题我都没有一发a的。A~D都在test 2上wa过……(太难过了) 接下来就是题解吧: A.Stra 阅读全文
posted @ 2021-03-26 23:46 mikku 阅读(52) 评论(0) 推荐(0)
摘要:三题滚粗。(至少现在可以稳3题了呜呜) A.Domino on Windowsill 本题是贪心的思想。如果第一行和第二行白色块的个数相同,那么全摆成竖的。白色块的数量最多为k1.如果不同就看他们之间的差值为多少,那么就能在插入差值除以2个白色块。即min(k1,k2)+abs(k1-k2)/2.黑 阅读全文
posted @ 2021-03-25 21:38 mikku 阅读(50) 评论(0) 推荐(0)
摘要:D. The Number of Pairs c⋅lcm(a,b)−d⋅gcd(a,b)=x. 由于lcm是gcd的倍数。则x也是gcd的倍数 由上式可得lcm(a,b)= (x+d*gcd(a,b))/c. 故x+d*gcd(a,b)是c的倍数。 故遍历1~sqrt(x),若该数能被x整除,则该数 阅读全文
posted @ 2021-03-25 21:36 mikku 阅读(52) 评论(0) 推荐(0)
摘要:C. Basic Diplomacy 这题的构造条件其实相当宽松。只要先判断一个人的只能选择那个人的天数是否大于(m+1)/2。(即对于1个数有11,11,11,11,212。那么只能选择1的天数为4天)如果有人满足这个条件,则返回NO,否则一定可以构造一个序列满足条件。因为若没有一个人的只能选择天 阅读全文
posted @ 2021-03-25 21:35 mikku 阅读(59) 评论(0) 推荐(0)
摘要:A.Prison Break 如果有m*n个小房间,那么就有m*n个房间需要被打破,即每个房间至少要有一堵墙被打破。根据观察得出也不能是同一堵墙,故为m*n面墙需要被打破 AC代码如下: #include<bits/stdc++.h> using namespace std; typedef lon 阅读全文
posted @ 2021-03-25 21:33 mikku 阅读(50) 评论(0) 推荐(0)
摘要:E1. Square-free division (easy version) 本题的题意是分串,要求串中任意两个数相乘不能是完全平方数。 首先注意到一个数可以分解为a=p1^a1*p2^a2*p3^a3*p4^a4; 那么如果a*b为完全平方数,即他们的每个质因子的幂全都为偶数。 那么对于单个数我 阅读全文
posted @ 2021-03-25 21:32 mikku 阅读(43) 评论(0) 推荐(0)
摘要:本次终于A了3题(c-1,c-2就算一题啦) Meximization 先去重,然后对前面不重复的部分排序,后面的顺序任意即可。一开始用了unique。 后来才发现他并不是前面不重复,将重复的放在后面,而是将前面重复的用后面不重复的元素替换了。固不能用unique,因为数据小,就也没多想,用vis记 阅读全文
posted @ 2021-03-25 21:30 mikku 阅读(45) 评论(0) 推荐(0)
摘要:题目大意: 给定长度为 n 的序列 a,求出任意一组 x,y,z,w 满足: x,y,z,w 互不相同; ax+ay=az+aw; 如果有解,输出一行 YES 后输出任意一组解;否则输出一行 NO。 本题有两个思路。基本都是暴力。 思路一: 转化为差分数组。由ax+ay=az+aw可化为ax-az= 阅读全文
posted @ 2021-03-17 17:13 mikku 阅读(108) 评论(0) 推荐(0)
摘要:今天打校赛打自闭了…… 今天就水一下昨天的B题的另一种比较好的做法吧(#摸鱼) 明天再奋斗吧orz 首先思路还是差分标记区间之后再计算前缀和。 那么具体应该怎么做呢。 对于每一层,我们应该从该层向下渗透,找到渗透的最底层(如果渗透完了就是第1层)。然后令其值+1.再令该层的上面一层的值-1。 这样计 阅读全文
posted @ 2021-03-14 21:20 mikku 阅读(92) 评论(0) 推荐(0)
摘要:……又是两题滚粗……orz(人生重来算了)(不过好像based on Moscow Open Olympiad in Informatics,所以变难了不少(挠头),所以肯定不是我的问题) A.Alexey and Train 本题是一道模拟题。首先各车站之间所需要的时间是不变的,a[i]-b[i- 阅读全文
posted @ 2021-03-13 21:19 mikku 阅读(73) 评论(0) 推荐(0)
摘要:题目链接 官方题解 C. Diamond Miner 这题不应该做不出来的……主要是第二题用的是我不怎么用到的set并且花了很久。所以慌了(嗯,一定是这样) 由于距离计算只与坐标绝对值有关。故将负的值都转换为正值。 然后分别对于x和y排序即可。顺序摆放的代价一定不劣于逆序摆放 设x1<x2,y1<y 阅读全文
posted @ 2021-03-11 13:34 mikku 阅读(77) 评论(0) 推荐(0)
摘要:本场链接 第一次参加cf。。 只过了前两题呜呜以通过system test 先贴一下代码 思路明天再贴吧。学习去了orz A. Split it! 本题就是判断回文字符串。且有一个ak+1能够暂时摆脱回文限制。 故只要令前面和后面相同的字符数大于等于k即yes。 #include<cstdio> # 阅读全文
posted @ 2021-03-10 22:16 mikku 阅读(53) 评论(0) 推荐(0)