概况
这里是牛客周赛 的组题人兼出题人,最近时间比较充足,刚好这一场也是比较有意义的一场,所以来和大家聊聊这场相关的背景故事~
首先,这个月刚好是牛客科技创立十周年的月份,所以我在命题时就有一个想法,便是向曾经的周赛做一个小小的致敬,所以制定了只出四个题,但是多个子问题合并的目标。这样,刚好可以与第一场周赛的四题保持一致,又不失挑战性。其中, 题还是创新的差异化答案判定 ,这一点也会在下文提到。希望大家喜欢这一场的题目~
趣闻
A | B | C | D | |
---|---|---|---|---|
CLIST难度分 | 25 | 422 | 1572 | 1819 |
出题预估 | 50 | 600 | 1300+1400+1800 | 1000+1600+2000 |
[A] Letter Song ~ 致十年后的我们
打卡题,标题致敬了初音未来的《Letter Song》,完美贴合了这一场比赛牛客十周年的背景,同时题目到处充斥的日文和中二气味也致敬了那个年代的题面。
题目本身不难,char
也是可以 +1
的,只需要取出第二位加一就好了!
也欢迎大家去听一听这首温柔的歌。
[B] 简单图形问题 - 0123
诈骗题,根据三角形面积公式,以整数为边长的等边三角形面积必定不为整数,所以只需要考虑正方形。
这里有一个必须要注意的地方,sqrt(x) * sqrt(x) == x
,这样直接乘进行判定等式永远成立,因为 sqrt
隐式转换为 double
了。我和我的队友曾经因为这个问题在区域赛坐牢半小时,警钟长鸣啊。
[C] 小红的机器人构造 - Ⅰ+Ⅱ+Ⅲ
这三个子问题都比较经典,且层层递进,不适宜拆分,所以合并到了一起。我在后台答疑的时候发现有的同学并不明白什么是 赛制,应当百度补习一下了!这一题的 判定实际上就是这一赛制的完美体现,配合部分分的机制简直完美。
有的同学可能会好奇这一题的 是如何书写的,其本质上是将 std
融入了 spj
,这样可以使用空余出来的答案文件 ans
进行类似于 的判定( ans
文件不储存答案,储存子问题的编号)。不知道此前有没有前辈这样尝试过,事实证明,效果是非常好的,除了大家的代码可能因此都写的非常长。
但是这样做带来了一个好处是,我们成功卡掉了 OpenAI o1
!关于人工智能模型的滥用问题,我们其实已经注意到了,欢迎您前往 这篇博文 进一步讨论。
[D] 小红的差值构造 - easy+hard+extreme
有两个做法,一个是通过数学结论,以严格 实现;另一个是三分后分类讨论,以 实现。因为是周赛,什么都没有卡,标程用时 内。
本题的 改编自我的三分程序,然而,在比赛进行到后半的时候,发现我的代码在其中一个讨论处少写了一个等号,这恰好导致输出最小的 的同学在数据点 会答案错误。由于本题提交人数较多,为了不影响正常作答的同学,在赛后我们对于本题进行了重测,一共有 位同学在赛时因为这一问题没有获得满分,非常抱歉。
讨论
在内测时我们经过了测试,OpenAI o1
可以满分通过 ,接近满分通过 。
感谢本场的各题出题人:
- :idea + data by WIDA ;
- :idea + data by WIDA ;
- :idea by WIDA & ༄࿆࿆A࿆࿆࿐ ,data by WIDA & bandiaoz ;
- :idea by WIDA & 苟全姓名于乱世 ,data by WIDA ;
以上!