Codeforces Round #806 (Div. 4)总结

比赛地址

比赛情况

排名:533 / 27864
AC:7 / 7

题目分析

A

语法题

B

看一下出现多少字母,加上字符长度就是答案

C

因为是倒推,所以 D 就加,U 就减,最后输出模10的余数即可

D

string+map

先把所有string放入一个map里

然后对于每一个string枚举分界点,判断是否存在两个字串都在map中

E

每个位置只会与3个位置有关,于是把每个点本身、旋转90,180,270的格子都找出来,看一下最少要变多少个

答案记得除4

F

题目要求 ai<i<aj<j

先把不满足 ai<i 的数筛走

然后从前往后遍历,满足 i<j

现在约束条件只剩下 i<aj,此时只需要看一下有多少个 ai 满足 ai<ii<aj1,这一步可以用前缀和预处理

G

有个很明显的性质,如果某个地方使用了坏钥匙,后面必然全部使用坏钥匙

ai109230=1073741824>109,也就是说坏钥匙用最多30把后后面的数就全变成0了

于是我们可以枚举哪个地方开始用坏钥匙,然后向后统计30个

时间复杂度 O(nlogn) 左右

赛后总结

手速还是慢了

A还算顺利,看完后马上打,调了一下,2min时过

B理解题目时花了点时间,打得也挺快,7min时过

C也不错,较为顺利,12min时过

D就出大问题了

也开始想着用string写,写到一半,觉得string用得不熟,想着8位不用用哈希来写,然后调不出,于是又改回string,然后string取字串的函数忘了,被迫上网查,然后好不容易打了个string+map才在31min时过

E看完题后感觉很套路,打了段代码发现过不了样例,发现理解成翻转而不是旋转,纸上推了推再改了改44min时过了

F看完题后一开始觉得要用单调队列,打完后过不了样例,仔细想了一下,发现那个前缀和就行,59min时过

G一开始觉得要不断判断 k 和所有数减去的关系,然后死活调不出,然后发现某个地方用坏钥匙后最多30次就全变成0,然后打了个暴力,然后90min是并 过

posted @   zhangtingxi  阅读(140)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示