2024 中山大学程序设计校赛(超级美味且士力架的宇宙级烹饪披萨赛)游记

· · 生活·游记

upd:已经将脏话部分和谐。

获得了打星名额,队名是 danielqf takes me fly。队员是 @ZnPdCo、@lnw143、@fydj。

两位队友做题量都是我的两倍以上,都各有所精,所以感觉我要被带飞了。

超级美味且士力架的宇宙级烹饪披萨赛(Super Yummy Snickers Universe Cook Pizza Contest,SYSUCPC,中山大学程序设计校赛)于 2024-12-22 在中山大学举行,gym 链接。

游记部分

带了一桶+一袋士力架,赢了。

检查了一下资料和笔都准备好了,于是就静坐等待开始。

旁边的队伍来得比较晚,名字叫做“杀掉比赛”,是几个大学学生。

他们过来问我们是大几的、

我回答我们是打星队,是中学生。

:中学生啊,这么厉害!

:我们这种大学生竞赛能力都退化了/ll

:你看这就是大学生的松弛感,我前 20 分钟才起床(现在是 8:50,还有 10 分钟开始比赛)

我发现他们只有两个人。遂问之。

:啊,啊,我们的队友现在还没起床。

确实是松弛感啊。

于是按照 oier 的礼仪先膜拜了一下他们。

前面的前面的左边是一个队伍,叫做天绫绫地宁宁(Yuzusoft):

比赛开始后我首先看了 A,看上去非常简单,扫了两三眼就发现答案就是 \min(x/2,y,z) 嘛,然后等队友登录系统,打开了 Vscode 后开始码代码。

然后发现键盘是坏的????!!!!!

什么垃圾键盘,打字会自动键入字符 8?差点把我的代码吞掉了。

花了 3 分钟去调教这个**键盘,通过 A 后,吃了根士力架,便寻找志愿者求助。

志愿者表示:我不知道她这个键盘怎么插的啊,线路有点复杂。

我:那你们给我们换旁边这台机子?

志愿者:可以啊,你们先开机。

我想反正这世间也可以看下题,于是就打开了榜,发现有人过 E。

于是开 E,发现是一个博弈?

lnw143 提醒我注意是不能操作的赢。

这时候我们的旁边的机子开好了,然后发现是 Windows???!

志愿者:啊?刚刚你们没有看到选择系统的界面吗?

我:没有啊。

志愿者:那我重启一下,等一下我们看看。

遂重启,继续研究 E。

发现榜上很多人过了,猜测是结论题。

然后志愿者来研究电脑。

发现电脑打不开 ubuntu 系统,显示已损坏??!

我:那最左边这台机子试试?

志愿者:不行啊,和隔壁队伍太近了。

那怎么办?

继续想题。

于是和 fydj 继续研究 E,猜测了一个很**的结论。

此时志愿者拿来了一个键盘,说既然他不会把键盘,那就把这个键盘接上去。

于是我们拥有了两个键盘,赢。

此时已经开赛 20 分钟了,我们的机器才能终于正常使用。

此时 lnw143 上机去打 E 的暴力验证结论。

此时我们确定了这个结论,打开了其它题。

fydj 开了 K 题,说这个式子好像比较好推。

推了一下发现是 \sum_{a}\sum_b 一个和(a-b)有关的式子

此时我随便翻到 C,感觉像大模拟,读完之后发现这不就是平衡树板题吗?

于是 lnw143 打完暴力后研究了一下 E 的结论,发现是对的。

写了,交!

发现wa了。

**交错题了,交到b上了。

交!

**wa了!

吃了根士力架,表示不慌,研究代码。

发现 Alice 和 Bob 写反了,因为机器故障罚时 20 分钟有点急,所以没有测样例。

好了又被罚时 20 分钟。

吃了根士力架,修改后仔细验证文件是否选对,题目是否选对。

好了过了。

此时 28 分钟。

fydj 突然说 K 直接枚举 a-b 就好了啊。

让 fydj 上来写 K,然后他说再推一下。

于是我开始打 C,发现没人打 C,非常开心。

平衡树我不能做到像 lnw143 一样 5 分钟打完,于是叫 lnw 来打。

然后此时 fydj 说他会 K 了,于是写了一下。

对,对,对,wa。

为什么wa?具体原因我忘了。

然后打完平衡树之后发现新换的巧克力键盘简直一坨大便。

于是来测试代码,发现 CE。

为什么CE?因为少定义了一个变量炸了。

然后吃了根士力架,继续调C,然后交!

对,对,对,re。

为什么re,然后观察代码,准备打印出来,发现打印不了。

:打印机出问题,正在修复。

不是很开心,让 fydj 调完了之前的 K,吃了根士力架,顺便交上去过了。

50分钟?忘了。

然后 lnw143 说 fhq-treap 要开 N+Q 的空间。

**,然后交了一下,吃了根士力架,顺便过了。

55分钟?忘了。

然后被要求看 D,发现我看不懂,于是去看 L。

发现 L 好像见过?但是不会。

观察了一会儿,于是去吃了根士力架,顺便写L的数据生成器与暴力。

此时 lnw143 发现当 L 满足某种性质时一定无解?

然后我举出了反例。

接下来发现这个反例只有当 n=1m=1 时生效。

好了,已经能够判断了。

然后怎么构造。

然后我们绕了一大圈,最后发现了一个非常**的构造,就是对角线一条线下来全部选 a_i,其它选 b_i

然后打,交,wa。

吃了根士力架冷静了一下,然后观察了一下发现需要对拍!

好了,写了一个 checker,发现 checker 炸了。

为什么,因为 cin 忘记 seekg(0) 了。

花了一定时间后,fydj 说他会 D 了。遂打。

打了发现没过样例,怎么都调不出来。

又把机子给我和lnw143,对拍了一会,发现 n=1m=1 的特判写挂了。

就知道。

然后吃了根士力架,顺便交题,然后a了。

100多分钟。

然后发现了fydj的D哪里写挂了,交上去,wa了。

110分钟左右,有点崩溃。

吃了根士力架,lnw143 提出好像需要 fsanitize 一下。

然后发现爆 int 了,fsanitize 救我大命(后面也救了一次,不过忘记具体是哪道题了)!

就应该学习 #define int long long 好习惯!

交了之后过了。

120分钟左右。

此时不急。

观察 J,发现很多人过了,疑似漏掉的签到?

于是和 lnw143 研究 J,fydj 发现他好像会 G?

于是开始打 G,然后发现他没打出来,没过样例。

最后虚空调试,发现读入顺序错了,他**。

接下来还是过不了,遂将树状数组部分换为暴力,发现过了。

然后观察了好久,发现树状数组查 (l,r) 的那个函数写错了。

实话实说,真的不建议在比赛压行写代码,包括头部分,真的很难调试的。

3小时左右了,急急急。

然后 lnw143 上机写 J,发现好像有点假。

这是为什么呢?然后 fydj 说他会了, 然后上机写。

然后fydj的代码又出bug了,不知道是哪里,忘了,总之吃了几根士力架就顺便调出来了。

此时还剩一个小时。

怎么办呢?看 F,发现很多人过了。

然后吃了午餐,顺便想到了一个关键点。

fydj上机。

然后fydj的代码又出bug了,好像是建边建了双向边,总之30分钟调出来了。

然后交,wa。

问题在哪里?

wa、

wa、

这个代码她怎么老是wa!!!

**急了,过不去了,于是最后几秒钟交了一发,想抢一个顽强拼搏奖(然而今年没有这个奖)

wa

8题结束了。

总结部分

作为一个8题队,感觉这次比赛的问题如下:

只能算是给 EC final 攒 rp 了。