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,看上去非常简单,扫了两三眼就发现答案就是
然后发现键盘是坏的????!!!!!
什么垃圾键盘,打字会自动键入字符 8?差点把我的代码吞掉了。
花了 3 分钟去调教这个**键盘,通过 A 后,吃了根士力架,便寻找志愿者求助。
志愿者表示:我不知道她这个键盘怎么插的啊,线路有点复杂。
我:那你们给我们换旁边这台机子?
志愿者:可以啊,你们先开机。
我想反正这世间也可以看下题,于是就打开了榜,发现有人过 E。
于是开 E,发现是一个博弈?
lnw143 提醒我注意是不能操作的赢。
这时候我们的旁边的机子开好了,然后发现是 Windows???!
志愿者:啊?刚刚你们没有看到选择系统的界面吗?
我:没有啊。
志愿者:那我重启一下,等一下我们看看。
遂重启,继续研究 E。
发现榜上很多人过了,猜测是结论题。
然后志愿者来研究电脑。
发现电脑打不开 ubuntu 系统,显示已损坏??!
我:那最左边这台机子试试?
志愿者:不行啊,和隔壁队伍太近了。
那怎么办?
继续想题。
于是和 fydj 继续研究 E,猜测了一个很**的结论。
此时志愿者拿来了一个键盘,说既然他不会把键盘,那就把这个键盘接上去。
于是我们拥有了两个键盘,赢。
此时已经开赛 20 分钟了,我们的机器才能终于正常使用。
此时 lnw143 上机去打 E 的暴力验证结论。
此时我们确定了这个结论,打开了其它题。
fydj 开了 K 题,说这个式子好像比较好推。
推了一下发现是
此时我随便翻到 C,感觉像大模拟,读完之后发现这不就是平衡树板题吗?
于是 lnw143 打完暴力后研究了一下 E 的结论,发现是对的。
写了,交!
发现wa了。
**交错题了,交到b上了。
交!
**wa了!
吃了根士力架,表示不慌,研究代码。
发现 Alice 和 Bob 写反了,因为机器故障罚时 20 分钟有点急,所以没有测样例。
好了又被罚时 20 分钟。
吃了根士力架,修改后仔细验证文件是否选对,题目是否选对。
好了过了。
此时 28 分钟。
fydj 突然说 K 直接枚举
让 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 满足某种性质时一定无解?
然后我举出了反例。
接下来发现这个反例只有当
好了,已经能够判断了。
然后怎么构造。
然后我们绕了一大圈,最后发现了一个非常**的构造,就是对角线一条线下来全部选
然后打,交,wa。
吃了根士力架冷静了一下,然后观察了一下发现需要对拍!
好了,写了一个 checker,发现 checker 炸了。
为什么,因为 cin 忘记 seekg(0) 了。
花了一定时间后,fydj 说他会 D 了。遂打。
打了发现没过样例,怎么都调不出来。
又把机子给我和lnw143,对拍了一会,发现
就知道。
然后吃了根士力架,顺便交题,然后a了。
100多分钟。
然后发现了fydj的D哪里写挂了,交上去,wa了。
110分钟左右,有点崩溃。
吃了根士力架,lnw143 提出好像需要 fsanitize 一下。
然后发现爆 int 了,fsanitize 救我大命(后面也救了一次,不过忘记具体是哪道题了)!
就应该学习 #define int long long 好习惯!
交了之后过了。
120分钟左右。
此时不急。
观察 J,发现很多人过了,疑似漏掉的签到?
于是和 lnw143 研究 J,fydj 发现他好像会 G?
于是开始打 G,然后发现他没打出来,没过样例。
最后虚空调试,发现读入顺序错了,他**。
接下来还是过不了,遂将树状数组部分换为暴力,发现过了。
然后观察了好久,发现树状数组查
实话实说,真的不建议在比赛压行写代码,包括头部分,真的很难调试的。
3小时左右了,急急急。
然后 lnw143 上机写 J,发现好像有点假。
这是为什么呢?然后 fydj 说他会了, 然后上机写。
然后fydj的代码又出bug了,不知道是哪里,忘了,总之吃了几根士力架就顺便调出来了。
此时还剩一个小时。
怎么办呢?看 F,发现很多人过了。
然后吃了午餐,顺便想到了一个关键点。
fydj上机。
然后fydj的代码又出bug了,好像是建边建了双向边,总之30分钟调出来了。
然后交,wa。
问题在哪里?
wa、
wa、
这个代码她怎么老是wa!!!
**急了,过不去了,于是最后几秒钟交了一发,想抢一个顽强拼搏奖(然而今年没有这个奖)
wa
8题结束了。
总结部分
作为一个8题队,感觉这次比赛的问题如下:
- 调试、调试、调试!!!调试了总总半个比赛时长,怎么代码就这么容易出bug呢??!
- 团队赛不是很多个人一起想一道题,而是一个人想几道题,然后一起讨论的。前者很浪费时间(我犯了这个错误),之后的策略是一个人前四题,接下来一个人接下来四题,在接下来一个人后四(五)题,当成cf单人赛制来打;
只能算是给 EC final 攒 rp 了。