CTT2023 游记

Day -1

激情 whk 中。

有人前一晚还在写作业,怎么回事呢?

反正是精英培训,开摆就行了!

Day 0

6:30 出发,先要做 2h 飞机到上海虹桥,之后还要做 30min 高铁到苏州,到酒店已经 14:30 了。

酒店看起来很豪华。拿了房卡,跟 wzy 一个房间,好诶!收拾一下行李之后就出发了,来不及报道。

到达世界最高点——CCF 总部!家人们太美丽啦!

准备打试机赛,比赛前还有水和食物可以拿。不过食物基本上没时间吃。

每个座位配了笔记本电脑+键盘。系统好像是 Linux,等等,怎么没有 geany?

完了,没了 geany 我不会用 Linux 啊!

捣鼓了半天 VsCode,发现了如何调试,然后编译运行好像用终端就行了。幸好考前问了一下怎么编译文件。

调了一下快捷键设置,然后打了一下 my_std,感觉没啥问题,就开题了。

怎么还是这三道题啊,不过后两题没做过,做做看吧。

T2 怎么是之前模拟赛题。T3 交互题有点意思,想了一下发现好像三个序列一起二分就行了,开写。

写完了,调调调,然后……电脑黑屏了???

很慌,然后举手找工作人员,弄了半天之后发现底下的插座接触不良,电脑没电了……

花了点时间重启,然后我所有代码不见了???监考老师说以后正赛不会还原,今天是例外。

然后重打了一遍 T3,继续调。感觉只有我一个小丑这么认真打试机赛的吧。

本来 17:30 结束,我还象征性加时了 5 分钟,结果没想到 17:00 大家就全散了。匆匆交了一遍 T3,CE 了?原来是没加头文件。再交一遍,一分钟之内只能交一发?这么唐的吗。好不容易等了一分钟,我的账号被强制退登了???登不上去了???好家伙真就 17:00 强制结束了。

出来吃饭,以为是自助餐,没想到是盒饭,不过还行。找到了 KHIN 和 yxcat,还有 wmh 和 Umbrella_Leaf,好强大/se

放一张夜晚的 CCF 大楼图。

晚上跟 wzy 和 crazy_sea 一起开黑,顺便复健了 tetris,还和 wmh 一起玩 gartic。

中途面基到了 Diu,拿回了报道缺失的衣服和证书。

房间内的暖气和屋外的寒冷形成了鲜明对比,在外面需要穿三件,屋里穿一件就够了。

Day 1

上午 7:00 才真正起床,然后去吃早餐。真好吃,豪华酒店就是不一样。

同样坐车出发去 CCF 总部,找到了 cly 和 oyds 等人。

开场顺序开题,一看 T1 就非常可做,猜了个结论后打算写个 \(\mathcal O(n^2)\) 暴力验证正确性。

思考半天如何实现后开写,一交竟只过了 sub4,8 pts。瞎写了个暴力过了 sub1,然后准备对拍……等等,Linux 怎么对拍?

啊啊啊啊啊啊 Linux 怎么对拍? Linux 怎么对拍? Linux 怎么对拍?

于是我把两份代码包成两个 namespace 放同一个代码里,主程序用来对拍。我真是天才!

不过这对拍需要传读入参数,还要清空,前前后后花了比较久的时间。然后对拍,不停调试,最终发现结论错了。

打了个补丁,然后继续对拍,调试,终于是把 \(\mathcal O(n^2)\) 给过了。

然后就简单了,随便上个线段树变成 \(\mathcal O(n\log n)\)。调了一会过了,此时过去三个小时。

我废了这么大劲才过了 T1,那后两题应该会很难吧,毕竟是 CTT 诶。此时我坚信后两题不可做,便直奔暴力而去。

T2 \(\mathcal O(n^5)\) 显然,随便优化一下也可以 \(\mathcal O(\frac{n^5}{w})\),有 35 分了,直接跳!

T3 题目有点晦涩难懂,不过好在最后读懂了,写了个基础的 \(\mathcal O(nq)\) 暴力拿了 20 分。开摆!

然后就是在两道题的部分分之间反复横跳,然后有了点 T2 的想法。直接转成树,把 dp 状态设成两棵树的节点,这样状态个数就降到 \(\mathcal O(n^2)\) 了。转移随便推推即可?

才区区 13:10,怎能阻挡我冲 T2 的道路?然而事实是没调出来。

出来发现人均 AK。三道题过的人数都差不多,输麻了/ll/ll/ll

100+35+20=155 rk66

回头一看后两题都是简单题,原来这才是 CTT 的难度,策略严重失误。

吃完午饭回考场听题,三题出题人为 unzcjouhi,ix35 和 zyk。

吐槽环节好评。T3 线上讲题给我整乐了。

之后去参观 CCF 的博物馆,有趣的是几乎所有的机器都可以切回桌面后用浏览器上网。于是看别人玩了一会扫雷。

转了一圈,发现有 nandgame,于是和 KH 一起玩,玩得不亦乐乎。玩了一段时间后发现馆内只剩我,KH 和 yxcat 了!

赶紧找人,发现在二楼玩桌游,跟上去后发现牌都被拿光了。

然后 wzy 不知道在哪里拿了两副牌,打算开始四人斗地主。jhx 加入之后就变成了五人斗地主,解锁新型斗地主方法!

大概就是两副牌,拿一张翻过来当地主牌,谁拿到谁就是明地主。另外一个拿到和这张牌相同的人就是暗地主,和明地主同阵营。明地主有 3 张地主牌。

玩了三四局后变成了算 24 点,感觉有点费脑子了。回去记得问 wzy 如何对拍+记得明天把电脑带过来(*1)。

晚饭后乘车回酒店,跟昨天一样打摆。心血来潮想打一把 tetris league,结果 16000 匹配到了 18000,4:5 后还给我掉了 1000 分?什么道理啊,不打了。

后来 crazy_sea 帮我打上去了。

继续 gartic,然后刷刷 B 站,打打 adofai,洗澡睡觉。

Day 2

到 CCF 总部后开始拍大合照。

摄影师:原神!

大家:启动!

虽然说 Day 1 不按难度排序,但万一 Day 2 是呢?于是还是顺序开题。

T1 怎么是构造/yun 已经能想象到 wzy 爆切的场景了。

想了差不多 1h 后脑子还是乱的,于是打算先往后看。

一看 T2,好家伙,典型的 DS 题,看起来就很可做,很快就胡了一个 \(\mathcal O(n\sqrt{n\log n})\) 的分块做法,然后用分散层叠就能做到 \(\mathcal O(n\sqrt{n})\) 了!

先把前面的做法写了,然后一测极限数据,好家伙,21s。把 \(\log\) 去掉,由于从没写过分散层叠,所以花了点时间调试,一测极限数据,好家伙,9s。

常数有这么大吗???

做了些无用的卡常后拼了个特殊性质就润了。T3 想了半天一分不会,又润回 T1。

T1 想来想去想了个挺像样的做法,先把简单的部分写了。写写写调调调,有了 25 分。

然后考虑没有特殊性质,想想想,脑子一坨浆糊。感冒还没有好,频繁擤鼻涕+咳嗽+跑厕所,很难受。

12:30 的时候想着 T2 只剩一个包没过了,不甘心啊,于是转过头想 T2。想着照特殊性质的做法空间 \(\mathcal O(n\sqrt{n})\) 也不是不能接受,调一调块长就行了,于是写了一发,跑得飞快,过了?

剩下时间在肝 T1,到最后都没想明白。

出来发现确实很多人切了 T1,还有很多人 T2 也被卡常了,crazy_sea 过了 T3/bx/bx/bx。

25+100+0=125,rk40。

吃完饭去听题,三题出题人为 ix35,Zayin 和 JV。

T1 没想到操作逆过来,还是太菜了。T3 的多项式原来可以缩到 66 项以内,然后就变可做了。强烈谴责出题人,没想到这点真的一分都拿不到啊。

下午愉快桌游,拉上认识的一些人准备玩狼人杀,然后再凑了一些人开 10 人局。

第一局狼人被顺推了。第二局女巫啥信息都没报就死了。第三局平民苟活到最后,结果投票二选一选到狼王了,又寄。不过玩的还是很开心的。

好像又忘了请教 wzy 如何对拍+带电脑过来,明天再说吧(*2)。

晚上继续 tetris+gartic+richup,然后刷刷 B 站。

Day 3

虽然说 Day 1,2 都不按难度排序,但万一 Day 3 是呢?于是还是顺序开题。

T1 看起来很可做!发现特殊的 \((i,j)\) 只有 \(\mathcal O(n)\) 对,其他的感觉随便做做就行了,不过怎样最好做是个问题。

换了几种计算方法,发现都能归约到类似卷积问题,并且 \(n\leq 5\times 10^5\) 值域还很大,感觉有点困难。FFT 感觉精度会爆(实际上是忘了怎么写),双模数之后 exgcd 感觉会 TLE(实际上是忘了除了 998244353 还有什么 NTT 模数)。

这就是考前不复习的后果!

抱着侥幸心理看看能不能随一个 998244353 以外的 NTT 模数,结果死活随不到,遂卒。

赶紧看 T2,造计算机?先写了个暴力,然后乱想。想到了分治,感觉很有前途,但不知道我怎么分析的硬是觉得它操作次数还是 \(\mathcal O(w^2)\),然后弃了。。。

开 T3,感觉很好玩!随便打个坏序列的表,然后随便瞪一瞪猜个结论,对了。发现一些很好的性质,然后直接上状压 dp,\(\mathcal O(nm2^m)\),80 到手。

然后随便优化一下转移优化到 \(\mathcal O(n2^m)\),直接过了。感觉这题应该会是我过的最快的题了。

还有很多时间,回去看 T1,想清楚细节后打算先写 \(\mathcal O(n^2)\) 的暴力卷积。写写写,调调调,WA 了,准备对拍。

等等我是不是没问 wzy 怎么对拍?

于是只能用愚蠢的对拍方式,花了好久时间终于拍上了。一交,过了 \(n\leq 2\times 10^5\)

尽管整个代码瓶颈就在于那一行简单的不能再简单的卷积,但我依旧手足无措。思考一阵子后决定把后面暴力拼了。然后结束了。

出来发现 T1 可以对值小的位置 NTT,大的位置暴力卷,不愧是 wzy!

然后发现好多人 T2 都拿了高分,一问原来就是分治,那我当时在干嘛/fn/fn/fn

80+15+100=195 rk29

三题出题人为 Zayin,ix35 & JV 和 feecle6418。不懂就问黄焖鸡这个名字有什么说法吗?

T2 卡操作次数差评。记一下出题人最优次数为 \(3w\log w+4\log w-5\)

好像因为题目出锅而降权重了。啊,今天出啥锅了?为啥我不知道。

之后出发去金砖博物馆,想着不去也是打摆,不如出去逛一逛。

回来的路上与 wzy,KHIN 和 yxcat 一起 24 点,后来变成了 60 点和 72 点。怎么更烧脑了!

晚饭竟然是塔斯汀!还有两个汉堡!遗憾的是我中途去上厕所的时候,放桌上的一个完整的,没吃过的,包装完好的汉堡和只喝过一口的可乐,竟然被保洁人员丢垃圾桶里了!!!

等我回来的时候桌上空空如也,只剩椅子旁边的书包了。我的晚饭啊啊啊啊啊啊啊啊啊啊!!!!!!!!!

当然我还是很和善的接受了她的道歉。只不过忍一时越想越亏,退一步越想越气,我到底招谁惹谁了。

晚上不想等最后一班大巴,于是跟大佬们打车回去了。

回去发生了一些很不好的东西。

Day 4

我好像又忘了请教 wzy 如何对拍+带电脑过来(*3)!!!

幸好 wzy 座位离得近,赶紧在开考前询问了对拍相关事宜。

虽然说 Day 1,2,3 都不按难度排序,但万一 Day 4 是呢?于是还是顺序开题。

看 T1,有点眼熟,这不是我们 GDCPC 的 D 吗?

哦有点不一样,但感觉很好做啊。随便分讨一下,然后变成一个经典的贪心问题,随便拿优先队列维护一下就好了。开写!

细节有点烦,正写一半呢,突然被通知 T1 数据在 \(m=1\) 的时候有点问题。好像是会有歧义,但不关我事,继续写。写着写着,突然被通知又有锅,要重新下载下发文件。

哦那好,你叫我重新下载我就重新下载,然后……我看到了 std.cpp???

全场哗然,所有人相顾而笑。一开始我还担心直接交会不会被禁三,突然瞟到有人已经交了,那我就不慌了。工作人员说 T1 不计入成绩,并且降权重。

直接删掉我写一半的 T1 代码。开 T2。不太懂这个“子图”的定义,于是先按边集来理解。随便推推,诶,简单的,开写。

不知道为什么写挂了,只过了树和杏仁的部分,于是赶紧写个大暴力,然后用 wzy 所教的对拍。

不过不知道为什么总是 RE,RE 之后就关不掉终端了,于是只好用回传统对拍方法,一拍就挂。

调调调,拍拍拍,总算过了。之后就是毫无顾虑地开 T3。

没什么好的思路,先把 5 分拿了。然后随便想了一下前两个包,感觉很平凡,也写了。之后对着 sub3 坐牢。

猜对了,全靠 T3 区分。不过 T3 zak 竟然没过,96.09。

提前祝贺 KHIN 翻盘!

100+24=124 rk33

中午是肯德基,好耶!

三题出题人为 Zayin,ix35 & zjc 和 Itst。

讲题前放了视频,你们看到的那个穿红色大外套的应该就是我。

四天权重为 17+17+8+8,感觉与我的 performance 成反比,输麻了。

KHIN 真翻了。crazy_sea 前十,都好强。

之后桌游,不过找不到之前一起玩狼人杀的人了,于是只能五人斗地主。

突然发现两副牌刚好可以 UNO,于是又玩了几局。说好的真心话大冒险消失了。

晚饭吃完后回去开摆。加到了 czj 的 QQ。诶呀突然想到应该趁机扩列的,可惜已经晚了。

继续 richup+gartic+tetris,然后刷 B 站。感觉以后都这样子实在有些无聊,有没有人推荐一些娱乐方式啊。

Day 5

早早坐飞机回去了,又要回归 whk 咯。

posted @ 2023-12-06 16:22  AFewSuns  阅读(399)  评论(1编辑  收藏  举报