codeforces 赛后总结

最近做了两场CF比赛,战况惨烈,Rating已经跌到底了,但是仍觉得收获颇丰。

第一场比赛没什么经验,就按平时的练习来做的,500的题1A后,信心倍增的去做1000的题,结果就卡死在这道题上了,一道数论题,所用的知识点也不难,但是当时就是没想到,不能说没想到吧,其实我是有想到要有这个知识点做的,但是没有具体思路,或者说没有证明出来,没有信心保证对,所以就没尝试着写,就这样两个小时很快就过去了,第一次觉得时间过得这么快。赛后问了一下队友,确定是用这个知识点,然后自己写了代码,也没感觉有什么难的,就是第一次枚举的素数过少了,WA了一次。

B、Easy Number Challenge

d[n]表示n的所有因子数,求所有i从1~a,j从1~b,k从1~c的所有d[i*j*k]的和,三重for循环不会超时,但是要找一个快速求d[n]的方法。

然后听CZ说C题枚举5个数就能过,就又做了一下C,

C、LCM Challenge

从1~n中任取三个数,求最小公倍数中的最大值,暴力写一下很容易发现规律,刚开始自己写的,枚举了后四个数,但是WA了,后来听CZ说有人枚举后5个数过了,然后就改了一下然后就过了,这个结论我没证明,只是在暴力搜的时候发现的,WA了以后,一度怀疑自己想错了,不想再做,后来发现,CF上的题能过所有样例就可,不问方法。

昨天又做了一场比赛,我觉得我越来越喜欢在CF上做比赛了,因为可以一眼看出哪题比较容易,从而可以由简入难,不至于一下子卡死在一题上,还因为在它判数据时候那一个一个增加的样例数给我一种莫名的紧张加兴奋。

昨天的比赛依然惨烈,也许是第一次在凌晨比赛,脑袋有点僵,也许是在笔记本上敲代码不是很熟悉,总之,昨天的比赛Rating依然呈下降趋势。还是一个题,B题其实是读出了有Special judge 的意思,但是不知道CF上的Special judge是怎么给出的,所以一直不敢写,纠结啊纠结,但是没做出这题又不敢轻易尝试C,而且混沌的脑袋也没理清C题的意思,所以只能失败了。早上问了GBX,B题是不是Special judge,他说是,然后晚上就按自己的思路写了一下,1A了,显然没有我想的超时的情况。唉!

B、Young Table

其实就是对数组的排序,看在排序过程中要交换几次。

然后做了C题,一个二分查找题,刚开始理解错了题意,GBX给我讲了一下,然后二分查找,但是在判断符合要求的L的时候出现了点混乱,也是自己的逻辑思维太差,结果一个晚自习都没做出来,回来的路上想了两个错的地方,然后又写了一遍,就A了。

C、Primes on Interval

给出a、b、k,求一个在1~b-a+1中最小的L,使L满足对任意的x属于a~b-L+1区间都有x~x+L-1之间至少存在k个素数。先打印1~106之间的素数个数,用s[i]表示前1~i之间有多少个素数,然后二分有二分枚举L,直到找到一个L满足条件,而L-1不满足条件。

呃,好吧,已经很晚了,睡觉吧~

原文地址:https://www.cnblogs.com/misty1/p/2741968.html