2018-12-07-round525

2018-12-07  本文已影响0人  termanary

虽说每场CodeForce都会有题解,但我还是多余的来记录了。
A:A
B:B
C:C
D:D
虽说有六道题,但是我当时只看了4道题,而且我觉得如果我能写出4题的话,对于现在的我应该已经是很不错的水平了。
发现CodeForce比赛时间不长,能看大佬们的代码(虽说我觉得他们可能是为了防hack,排名靠前的代码乱得不行,或者是直接粘模板?),还有题解,真心喜欢这地方。
话不多说:
A:十分水,可惜我当前还犹豫了几分钟,直接暴力穷举。
B:第一次写的代码自以为高明,事后一想,不就是输出最小的数(非零),剩下从小到大遍历所有的元素,输出与前一个数的差(非零),剩下的输出0吗,当时搞得麻烦了。
C:属于那种,题目简单,题解简单,但是当时非常难想的题目,有点看智商的感觉。
两种解法:
1.先一次加法,从左到右递增取模n次。
2.从右到左计算应该加上多少数,一次对一个定值取模。
D:刚开始联想到了数字电路的算术比较器,原理很相像。同样都是用异或比较两个数是否相等,但事实证明结果天差地别。数字电路的算术比较器可以逐位运算,而这道题必须从高位运算,高位的运算结果会受到低位的影响。
事后当时我的思路是用0-0比较一次,1-1比较一次,但是无法有效区分最高有效位相同的情况,只能说受到数字电路先入为主的影响了吧。
正解是0-1和1-0交替比较一次,可以说是非常精妙了,为作者鼓掌。至今依旧为作者的奇思妙想赞叹。

上一篇下一篇

猜你喜欢

热点阅读