![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
codeforce
文章平均质量分 85
徒手装机甲
这个作者很懒,什么都没留下…
展开
-
Codeforce Round #640 Div4
Codeforce Round #640 Div4一直听说cf之前搞过一场div4,所以找了个时间vp了一下,题目还是挺有意思的,感觉全是构造题。不知道为啥后来不办了,vp虚拟rank进了前30,前面写的有点慢,写简单题的速度还得在练练,简单写个题解把A.Sum of Round Numbers题意就是给你一个数,拆分成几个数,让拆分后的数都只有第一位不为0,感觉我写的有点麻烦了#include<bits/stdc++.h>using namespace std;using ll=l原创 2022-03-26 07:37:55 · 1004 阅读 · 0 评论 -
Codeforce Round #762 Div3 题解报告
Codeforce Round #762 Div3今天vp了下这套div3,前三题倒很顺利,做d的时候看错题,mn读反了,并且搞了一个错误的维护次大和最大的方案,虽然这个方案好像也能做,但是确实很麻烦,然后看E也没顺利调出来,没有想清楚具体操作的过程,F,G赛后都补了A.Square String?问有没有相同的字符串,可以简单的考虑奇数不行,偶数就切一般就行#include<bits/stdc++.h>using namespace std;using ll=long long;原创 2022-03-23 02:29:54 · 385 阅读 · 0 评论 -
codeforce round 753 div3 题解报告
codeforce round 753 div3 题解报告在vp比赛的时候只过了5题,后三题跨度还是挺大,不过也有前五题写的慢的愿意在里面,没有太多时间看后面的题。A. Linear Keyboard给你一个键盘的顺序,让你模拟打某个单词需要的步数,稍微对应建立映射即可#include<bits/stdc++.h>using namespace std;int t,n;map<char,int>mp;int main(){ string s1,s2; scanf原创 2021-11-17 04:17:10 · 392 阅读 · 0 评论 -
Codeforces Round #744 (Div. 3) 解题报告
这套题打的时候只写了前5个题,都比较基础,但是后面三个题补了之后还是收获很大,记录一下题解报告和一些需要注意的细节A. Casimir’s String Solitaire题意:一个由A,B,C组成的字符串,每次可以同时删除A和B或者B和C,给一个字符串,问能否删干净。考虑删除的一个不剩,每次都要消耗两个,只需要判断A的数量+C的数量是否等于B的数量即可 #include<bits/stdc++.h>using namespace std;int t,a,b,c;string s原创 2021-10-07 04:50:12 · 170 阅读 · 0 评论 -
Codeforces Round #731 (Div. 3)解题报告
Codeforces Round #731 (Div. 3)解题报告最近开始训练思维了,先从cf的div3练起吧,EFG都是后面补出来的,还是很有收获的,记录下每个题的做法A Shortest Path with Obstacle很基础,就判断下中间点有没有被两个点夹住即可。#include<bits/stdc++.h>using namespace std;int xx1,x2,x3,yy1,y2,y3;int main(){ int t; scanf("%d",&原创 2021-09-30 23:16:09 · 255 阅读 · 0 评论 -
codeforce round 742 div1+2.D. Take a Guess(交互题)
D. Take a Guess做cf也已经有一段时间了,一直听说过交互题,但是没有自己写过,今天自己写了一道交互题。就记录一下一些关于交互题的细节。首先交互题目的格式就是通过你给评测机发送询问,评测机实时返回你问题的答案,注意的是,当你进行提问后需要清空缓冲区的内容。这里只介绍c++的用法,如果你是用printf发起提问的,在读取答案之前要输入fflush(stdout)来清空缓存,如果用cout进行提问,记得问题后面带一个endl。会自动帮你清空缓冲区。然后问完问题后,立刻读取问题的答案,通过一定次原创 2021-08-31 13:59:40 · 513 阅读 · 0 评论 -
codeforce Round 734 div3 题解报告
总结其实这场比赛也没啥好总结的,当天过生日,就没有打这场比赛,第二天刚好有空就找时间虚拟参与了一下。题目难度不大,都是代码量很小的思维题。做的时候还是遇到了很多卡住的问题。之后补题发现很多题自己的写法都不够优秀。这里写一篇题解记录一下这套题。如果有不对的地方,欢迎私信我来探讨。A. Polycarp and Coins这个A就是基本的签到,判断n%3的结果来确定是一样多还是1元多还是2元多。没有坑点#include<bits/stdc++.h>using namespace std;原创 2021-07-27 08:59:53 · 241 阅读 · 0 评论 -
codeforce round 630 B. Composite Coloring
题目说的是有11个组别,现在想n个数分配给这11个组,问如何分配才能保证每一组内的gcd大于1,我第一次直接是按贪心加暴力分的,就是按顺序排遇到错误的给1个新颜色,发现11中不够,之后来如思考如何分解因子,因为因子一定是质数,那么我们可以发现第11个质数是31,而31*33>1000,也就是说1000以内的合数,它的因子一定在这11个质数中(其实有一点埃氏筛的想法,所有合数都可分解为质数...原创 2020-04-04 11:23:20 · 109 阅读 · 0 评论 -
codeforce edu round 84div2 c Game with Chips
题目大意就是,先给一个n*m的地图,给其中k个点分别给出他们的初始位置和目标位置,要求在2mn步内操作让每个位置都去过一次他的目标位置,对于这道题,顺着他的思路想是很难解决问题的,但是我们观察2mn这个条件,发现我们可以操作很多次,于是乎,我们只要让每个点都去过所有位置,就可以保证条件一定满足,所以我们先把所有棋子移动到1-1,然后按顺序遍历整个地图,即可保证一定满足要求#include<...原创 2020-03-24 14:48:42 · 248 阅读 · 0 评论 -
codeforce edu round 84 div2 b Princesses and Princes
B这道题的题目很长,而且有点绕弯,大意就是有n个公主和n个王子,每个公主有一份自己满意的王子名单,n较小的公主会优先选择他的名单中没有被选走的n最小的王子,现在国王有机会让一个公主的名单多一个人,尽可能让更多公主结婚,请问能否做到,如果能,给那位公主加那位王子,如果不能直接输出Optimal理解题意后,我们很容易就能发现,这其实只是一道简答模拟题,按顺序给每个和王子配对,标记每个王子,如果...原创 2020-03-24 14:30:49 · 164 阅读 · 0 评论 -
codeforce div1+2 c.Kuroni and Impossible Calculation
如果我们直接计算的话,复杂度一定无法处理,所以我们需要观察这个式子,尝试从中找到规律,我们发现n的数量可以很大,而对于一系列的连乘取模,只要出现一次0就会全变成0,那么题目中又说有n个不同整数,我们根据鸽巢原理可以发现只要n>m那么就一定会有两个同余的数,那么这两个数结合时modm一定为0,所以n>m时直接输出0,其他情况只需暴力即可处理‘代码如下#include <bi...原创 2020-03-04 13:59:42 · 178 阅读 · 0 评论 -
codeforce div1+2 B.Kuroni and Simple Strings
这道题的题意有一点绕,意思是给一个括号序列,只有前半部分都为(后半部分都为)为标准序列,现在给一个字符串,我们可以选择其中一些标准序列删除来保证原序列无论如何更改都不会变化。然后我们会发现如果要删除两个标准序列,一定可以结合1个所以一定只有一个可以删的,接下来,我们要保证它删完后不能在包含标准序列,那么我们设两个指针,从首尾分别出发,知道相交停止,找出所有(和)然后按顺序输出即可#includ...原创 2020-03-04 13:11:51 · 172 阅读 · 0 评论 -
codeforce round625 div2 (a+b)map
第一题很简单,但是我做的时候一直re,之后发现少考虑了一种分母为零的情况,导致程序提前退出,需要注意一下,不多阐述,下面是b题这道题的大意是对于一组数据,每个数对应一个价值如果满足序号差等于价值差他们可以组成一组问最大的组合大小,我看完题的第一想法是一个n方的dp,。大概就是从小到大依次确定当前的最优解,也就是说对于每个位置i我们需要遍历1到i-1的过程如果满足ci+1-ci=bi+1-bi就...原创 2020-03-02 13:24:38 · 129 阅读 · 0 评论 -
Codeforces Round #624 (Div. 3) C. Perform the Combo(二分或前缀和)
题意本身并不复杂,就是试密码,一共试m次第i次在a[i]位置错误,很容易想到字母桶排序,但仔细一看,n的范围在2*10的五次方,这不是一个n方能完成的问题,所以我们要使用一些技巧处理问题,不难发现,a[i]越大它前面所有的敲击次数都要+1,那么我们先用一个数组读取整个m区域,存下每个位置结尾的次数,在计算是倒着向前加a【i】=a【i+1】+a【i】,可以存储过程中所有加过的位置整体算法复杂度只有...原创 2020-02-25 15:55:18 · 268 阅读 · 1 评论 -
codeforce round622div2 bDifferent Rules
题目大意为,有一个新规则来进行排名,一共n个人参加两轮比赛,单次比赛名次不可重复,比较相加结果,问此人最高排名和最低排名。首先分析最低的排名,也就是最大的排名,因为2轮比赛名次和的平均数是n如果这个x+y<=n就说明最低名次一定是低x+y-1名,因为他小于平均值n+1所以我们要让整个排名的平均值尽可能的低,就要想办法去除最大的组合尽可能让他排名靠前比如n==4时,我们让x+y是1和2那么...原创 2020-02-24 15:23:32 · 155 阅读 · 0 评论 -
codeforce div1+2 621 C.cow message
输出标准输出 牛贝西刚刚截获了一条农夫约翰发给汉堡王的短信!然而,贝西确信里面隐藏着一个秘密信息。 文本是由小写拉丁字母组成的字符串。她认为字符串T隐藏在字符串S中,如果T作为S的子序列存在,则S的索引构成算术级数。例如,字符串aab隐藏在字符串aaabb中,因为它出现在索引1、3和5处,这些索引形成一个算术级数,其公共差分为2。贝西认为任何出现...原创 2020-02-18 15:15:28 · 237 阅读 · 0 评论 -
codeforce div1+2 621 B. Cow and Friend
这道题大意是给定一些步伐,然后目标从0,0走到0,x问最少要几步,刚开始,我就想到了贪心,因为每两次最大的步伐就可以做到移动(0,2a【i】)的距离,所以我选择用数组存储所有小于2a【n】的值(a[n]为排序后最大值)然后把所有a[I]的答案更新为1,考虑余数加数组来解决问题可是答案超时了。之后重新看这个问题,发现了之前的一个误区,就比如3 4 5 凑13的例子我一直在考虑刚好满足3+...原创 2020-02-18 02:24:25 · 183 阅读 · 0 评论 -
codeforce div2 620 C. Air Conditioner
题目讲的是有一个空调可以控制温度,不管升温还是降温都是每分钟1,对于n个客人每人都有一个自己可以接受的温度范围,问可不可以让所有顾客都满意。分析题目,我们发现我们可以控制空调的温度,所以饭点的温度始终有一个范围【m-t,m+t】用m1 m2表示即可在客人来的过程中,我们要保证对每一客人,我们的范围最后要被客人接受范围包括,并保证一定有一个温度可以满足客人,比如能做到的最低比客人接受的最高更低,...原创 2020-02-16 17:38:32 · 164 阅读 · 0 评论 -
codeforce div2 620 B. Longest Palindrome
题意很好理解,就是有若干个长度已知各不相同的字符串,让我们组成一个尽可能长的回文串,刚开始我找错了方向,想着转换成26进制在暴力找解的方法,后发现不太可行,看到标称里那么多stl,直接用一些c++内置功能完成了题目的求解,首先是set去复制一份字符串的值,直接用其内置的find函数确实是否有合适的值,在这里有一个点很有意思,find函数在找不到这个的位置时,会自动返回end所以判断是否存在回文可...原创 2020-02-16 13:27:36 · 141 阅读 · 0 评论 -
牛客寒假五 f碎碎念(dp+前缀和)
我们的目标是求出l到r区间可能的次序,那么我们可以确定在1到x-1的过程中一定只有一种顺序就是全部ac,也就是dp[I]=dp[I-1];只能从上一步转移过来,而在x到max的过程中每一步都有两种可能可以做到,就是上次ac和上次RJ,也就是说状态转移方程是dp[i]=dp[i-1]+dp[i-x];我们就可以得到每一步的到达方法数,之后我们发现题目设了多组提问,每次都使用加法会导致算法超时,所以...原创 2020-02-14 19:29:00 · 137 阅读 · 0 评论 -
codeforce div2 educate 82 b National Project
题目大意是,现在要修路,天气好的时候修的路质量更高,天气差路就差,好坏天气轮流交替,问如果一段路至少有一半是好的,那至少要多少天,这道题我刚开始想到的是分类,就如果a>b就能保证好路一定超过一半(因为先修好路,如果a大,那好路永远比坏路多)这种情况下不需要停工,答案就是n实际上如果a超过了n的一半,也不用考虑这个问题。所以顺势我就想到了如果B>A的时候,坏路一定比好路多,所以不需要...原创 2020-02-13 04:28:44 · 150 阅读 · 0 评论 -
codeforce 618div2 C Anu Has a Function
题目很短,意思就是有这样一个函数,功能如图所示,问如何安排会让答案最大,那么看一下题,函数的功能是先按位或在-b,所以说除了第一个元素都要被减并且按位或,所以我们只需选出一个适合的值放在第一,其他的不重要。那么我们继续观察这个函数找找规律,比如题中所给的9和6的列字,函数完了以后还是9,但这个例子不够明显,那么我们再试试9和7他们分别是1001和111,按位或还是15,但减7后变成了8也就是...原创 2020-02-11 01:22:41 · 113 阅读 · 0 评论 -
codeforce div3 C Yet Another Walking Robot
题意大致讲的是给一个字符串,有四种操作,上下左右,如果可以选择一段尽可能短的操作删去,则输出删那一段,如果不行就输出-1;做题时没有理解题意,就直接放弃了,回头来看,思路也停留在遍历,但没有想到如何遍历,看了一下题解,发现要用stl中的map,生成一个映射,记录这个坐标上一次出现的位置,也顺便学习一下map的用法,其实对这些stl,我也或多或少知道一点,但我发现一个知识如果只停留在知道那就没有...原创 2020-02-06 20:51:12 · 304 阅读 · 0 评论 -
codeforce div3 d Fight with Monsters
题目大致说的就是两个人一起打怪兽,我的攻击力为a,我对手攻击力b,我有一个魔法让我的对手停止行动一个回合,我永远先手,秘法可以放k次,问我最多可以打死多少怪兽(就是最后一刀,拿到人头)题目解法也很简单,先把怪物的血量对a+b取模,直接算到a能直接打死或a打完b能直接打死的情况(注意如果取模为0要使其加上a+b)之后开始考虑a几次可以打死这个boss,施法所需次数也就是这样,但需要注意的是a每次...原创 2020-02-05 19:11:10 · 195 阅读 · 0 评论 -
codeforce div2 b Infinite Prefixes详解
题目如图题目表达的很复杂,看了很久都不能理解一堆abc的例子在表达什么,在别人帮助翻译后大致理解了题意其实简单来说就是给一个长度已知可以无限重复的字符串,只有0和1两种字符,问有几个点可以使0比1多x个,比如样例1,010010 1个子串0比1多2个,所以前四个子串结束后0一共比1多了8个,而0比1多10个将在下一个子串中出现,也就是28 30 和32需要注意的还有如果要求为0,...原创 2020-01-30 07:06:03 · 3047 阅读 · 0 评论