概况

这里是牛客周赛 的组题人兼出题人,最近时间比较充足,刚好这一场也是比较有意义的一场,所以来和大家聊聊这场相关的背景故事~

首先,这个月刚好是牛客科技创立十周年的月份,所以我在命题时就有一个想法,便是向曾经的周赛做一个小小的致敬,所以制定了只出四个题,但是多个子问题合并的目标。这样,刚好可以与第一场周赛的四题保持一致,又不失挑战性。其中, 题还是创新的差异化答案判定 ,这一点也会在下文提到。希望大家喜欢这一场的题目~

趣闻

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

以上!