WC 2024 游记

终于能在最后一年赶上线下 WC 了!去年的是线上所以没有写游记。

定义 1 月 29 号为 Day 0。

Day -16

学考考完了,终于不用学 whk 了!

Day -13

在学校发烧了,回家休息了差不多一个星期,模拟赛纯摆烂,课也没有听。

Day -8

休息好了回校。晚上在 ARC 和填学籍表之间选择了 ARC,结果做了一整场 C 没做出来。

有趣的是几乎所有学弟都切了 C,而我们几个高二的反而做不出来。感觉是自己太久没碰 OI 太菜了(呜呜呜)。

Day -7

学校的春晚,全场最震撼也最好看的就是无人机表演了。

由于最近天气降温于是躲在同学被子后面避风。不过后面雨越下越大,天气也越来越冷,感觉手冻僵了。

Day -4 ~ -1

前面连续三天学长讲课。跟 pb 和 mj 玩飞盘。

AThousandMoon 的讲课与 ucup 冲突了,于是就没有打。不过晚上 Charlie 自己打了。最后两个小时帮他看了一下题,在最后 10min 的时候发现某道题的做法,虽然很典但由于实力太弱做不出来,最后写完却刚好结束交不上去了/ll/ll/ll

周日纯纯打摆。

Day 0

早上 6:40 起来,被老师和同学的电话轮番轰炸,着急之下赶紧洗漱完就留了。

结果一上车之后发现:我耳机落床上了!!!

顺利上飞机,旁边就是 ExplodingKonjac,座位前面还有电子屏幕可以玩。中途跟 EK 一起玩上面的弹珠游戏,发现平飞可以卡 bug 几乎无敌,非常好玩。

飞机上十点半就发了午餐,怎么这么早。

下飞机后打出租车。虽然去年 NOI 前来过重庆,但是一直没有出去过,现在总算是在路上见到了些重庆的面貌。黄色出租车是真的快,不过有点小,车上还有垃圾。

比教练先到了学校,于是自行进去报道,没想到宿舍竟然跟 ZSH_ZSH 一起!不过我很好奇为什么没有跟学弟他们的宿舍连一起。

报道物资:胸牌,讲义,饭票,活动安排,冲锋衣,书包。

跟去 pkuwc 的学弟们回合了。去宿舍前要走一段斜坡或楼梯,有点累。宿舍是四人间,有暖气,独立卫浴。宿舍内没有插座,差评。没有 wifi,差评。

去教练那领完生活用品后闲逛,碰到了 hxhhxh 和 crazy_sea。

然后准备跟 ExplodingKonjac 和 NaOH_Frog 打牌,从 Charlie 那里拿到了牌(他在打蒸)后发现这牌不是全的(从 CTT 那里嫖来的),于是我们网购了四副牌+一些零食。

等外卖的时候跟一些同学打奇怪板子的狼人杀。第一把拿了个咒狐被“预言家”发金水瞬间成上帝视角,最后赢了;第二把当平民莫名其妙赢了。

吃晚饭,碰到了 KHIN 和 namelessgugugu。说实话感觉伙食不如 cdqz。听说每个区域的菜都不一样,后几天都尝一尝。

晚上开幕式,在第二排,比较难绷的是屏幕上的“41th”和假的启动按钮,以及 dzd 讲话时群里的语录。听说舞蹈表演和 THUWC 撞了。

回宿舍打斗地主,人数增多后开启了自创玩法“狼人斗地主”,即有狼人、隐狼、神职和平民等,每个身份还有技能。

宵夜有汤圆炒饭和饺子,还是汤圆比较好吃。走廊充电的地方就跟要爆炸了一样。

洗澡的前把沐浴露摔坏了,洒了一地;洗澡的时候洗发水没放稳导致其掉厕所坑里了。我怎么这么倒霉啊/ll/ll/ll

反正明天 9:00 才上课,可以晚点睡。

Day 1

8:00 起床。早餐感觉还是不如 cdqz。

听 lxl 讲持久化数据结构,结果两个小时才讲了 17 页,总共 100 多页。听到后面玩手机去了。

下午 EI 的课直接掉线了,跟同学一起玩 UNO,斗地主和飞行棋。

晚上营员交流听到三个 toptree 的时候就跟同学润回宿舍了。跟 Charlie 和 NaOH_Frog duel 了一道 *2600,没做出来,心态炸裂。感觉这样下去要完。

Day 2

上午题目选讲,感觉难度亲民就认真听了,其实主要是和 crazy_sea 一起在讨论最后一道题。

下午量子计算直接开摆,打了把 richup。

吃完饭后去领密码条,结果省领队消失了,拖到试机前 20 min 才拿到。B66。

试机题目是 NOIP 2021,打完 my_std 和 treap 后就润了。幸好自己还记得 geany 的配置,以及通过试错法试出来了如何用 gdb。

不想继续试机,于是早早出来去自习室复习一下。先把昨天那道 *2600 改了,然后复习了 SAM 和 SA,支配树、带花树、KM、Pollard-Rho 和 Cipolla 只是草草看了几眼。希望不会考吧。

Day 3

8:00 开考,所以今天 7:00 就要起床,感觉很不爽啊。起床的时候感觉鼻子有点塞,喉咙有点不舒服,应该是室友感冒传染并且前几天喝水少了。希望不要影响考试。

考试策略大概是类比去年 WC,把暴力打满就行了,毕竟是 CTS 的题。不过还是想过一下 T1 的。

吃完早餐就去考场了,发现每个人桌上都有五张不同颜色的牌:WC 牌,香蕉牌,水牌,草稿纸牌和电脑牌。但是为什么桌上只有牛奶面包没有水!

周围的人都在咳嗽,应该戴个口罩考试的。

发现电脑登不上去,原来是 8:02 才开考。经过了昨天的试机,今天使用 Linux 应该没问题了……吧。


你先别急,让我把 my_std 打了。

  • 8:07

配置好 geany,检验 my_std 没问题之后开始看题,三道题时空限制都挺正常,只有 T3 是 3s 1024MB。

先看 T1,发现可以拆贡献,分讨之后变成求前缀后缀的背包。当时我不知道怎么想的认为背包的复杂度是 \(\mathcal O(nT^2)\),只有 35 pts,感觉 \(\mathcal O(nT)\) 需要用到之前总结的那些背包技巧。

回忆一下发现不知道怎么优化,又感觉绕不开背包,就先把“暴力”写了。写着写着突然发现,好像背包复杂度就是 \(\mathcal O(nT)\) 的啊!

喜出望外,迅速写完测大样例,全过,懒得拍了。什么时候 WC 也出良心签到题了?

  • 8:30

开 T2,直接跳到形式化题意,感觉比较麻烦,估计今天只能过 T1 了。

尝试判断合法性,根据相邻两项 \(h_i,h_{i+1}\)\(T\) 的关系可以得到一些关于 \(i,i+1\) 必须翻和必须不翻的限制,且独立。这很好,说明不合法相当于存在 \(i\) 使得 \(i\) 既要不翻又要翻,于是对每个 \(i\) 都限制了 \(T\) 在一段开区间 \((L_i,R_i)\) 内。

现在题意变成有 \(n\) 个开区间,问有多少个区间,它们的区间交不为空。感觉很简单啊,随便拿个单调栈就线性了,但总感觉有点奇怪。

抱着试一试的心态开写,调了一下样例一后过了所有大样例。啊?这么没实力。

  • 9:07

还有四个小时,只剩 T3,我拿什么输!(不要立 flag 啊/fn/fn/fn)

感觉 T3 肯定要上强度了,于是一档一档暴力分看。先尝试判断合法性,手玩了一下发现比较困难,思来想去没有任何思路。

继续手玩,突然有了一个大胆的想法:将已知的线段树节点 \([l,r)\) 看成 \(l\)\(r\) 连边,如果最后 \(L_i\)\(R_i\) 连通就说明 \([L_i,R_i)\) 能被表示出来。

玩了玩感觉很对,就写了个 \(\mathcal O(2^{2n-1}n\alpha(n))\) 暴力,过了前四个样例。

现在有 \(10\) 分。

想了想感觉很难扩展到多项式复杂度做法,于是先看特殊性质,即所有点连通。

考虑树形 dp 之类的东西,对于线段树上一个节点 \([l,r)\),发现要么 \(l,r\) 已经连通,要么一部分点与 \(l\) 连通,另一部分点与 \(r\) 连通。

发现并不关心与 \(l,r\) 连通的是哪些点,然后就可以 dp 了!设 \(f_{x,0/1}\) 表示 \(x\) 子树内 \(l,r\) 是否连通。转移显然,时间复杂度 \(\mathcal O(n+m)\)

现在有 \(35\) 分。

感觉可以继续扩展,手玩发现和 \(l\) 连通的一定是一段前缀,和 \(r\) 连通的一定是一段后缀,于是尝试设 \(f_{x,i}\) 表示与 \(l\) 连通的点是 \([l,i]\),与 \(r\) 连通的点是 \([i+1,r]\)\(i=r\) 表示 \(l\)\(r\) 连通。

不过在转移合并的时候有可能有一段被单独分裂出来了,这时候需要保证这一段不和外面有连边(这里的边指的是 \(m\) 条边 \((L_i,R_i)\))。合并上去之后不难发现这一段完全没用,不会影响 dp 的状态设计。

转移复杂度是类似树形背包的,时间复杂度 \(O(n^2)\)

现在有 \(55\) 分。

中间还有一大堆 \(m\leq 5\) 的分。考虑转移过程中最难办的其实是判断一段和外面有没有连边,而当 \(m\) 很小的时候有很多连续的 \(i\) 状态是一样的。于是可以将序列分成 \(\mathcal O(m)\) 段,对每段记 dp 值,时间复杂度 \(\mathcal O(nm^2)\) 带一定常数。

现在有 \(85\) 分。不过 selfeval 上已经显示 300 分了,非常赏心悦目。

  • 11:30

还剩一个半小时,把几个暴力相互拍了一下没问题,又测了一下极限数据,发现开 fsanitize RE 了,一个数组开小,一个没开 long long。

还是 RE,感觉是爆栈了,尝试了若干个开大空间的命令,包括但不限于:ulimit unlimited\ulimit unlimitedulimit -unlimitedulimit -u unlimited

后来用了 ulimit -s unlimited,还是 RE,有点慌,可惜看不懂报错信息,就扔掉了。

蛋糕吃完了,牛奶喝完了,这下不得不想正解了。沿用 \(m\leq 5\) 的思路,考虑优化判断一段合不合法。实际上可以用这序列上的 \(m\) 条边给 \(n\) 个点划分成若干等价类,如果这一段的两个端点处于同一等价类就合法,否则不合法。

于是就简单了,只需要考虑同一等价类之间的转移,使用线段树合并+启发式合并或许就可以了!

想了实现细节发现并不简单,花了一点时间优化了一下实现,dp 的第二维改记等价类编号,线段树换成 map 启发式合并,时间复杂度 \(\mathcal O(n\log^2 n)\)。冲!

  • 11:50

大意了,现在才写完,还栽在了大样例。赶紧对拍,拍出来 \(n=3,m=1\) 的小样例调试,结果怎么都调不出来,也许是太急了。

后面干瞪代码也没瞪出来,遗憾离场了/ll/ll/ll


出来发现大众分在 \(210\sim 235\) 之间,有点惊讶。应该会有一堆人 AK 吧。

路上遇到 KHIN,发现他们的 T1 是我们的 T2,T2 是我们的 T3。

很喜欢 ExplodingKonjac 的一句话:

怎么有人一小时切前两题,却不会用 Linux 的?

太真实了,我对 Linux 一无所知,除了在需要用 NOI Linux 的考试之前其他时间碰都不碰。但我还是觉得 Windows 好啊。

中午没有睡觉,在宿舍开音趴。后来越想越不对,其他人 T2 的做法都跟我不一样,并且做出来的时间都比较长,我不会 FST 吧。

越想越紧张,15:00 一到就去查分,边走边默念着不要挂不要挂。输入密码,打开成绩单,怎么有个 0 分?不对总分好像就是 285,那个只是基本分,说明我没有挂分!

找到其他人发现都没有挂分,良心大样例!学弟们考的都不太好。

晚上围观 NaOH_Frog 从零开始打 phigros,最后第八章也没打完。

Day 4

这一天比较无聊,上午下午持续开摆,没听懂啥。

下午 phigros 更新,晚上去开音趴,没有去看节目表演。Charlie 怎么又去唱歌了。

打 G.V.N 打到崩溃就来自习室写游记了,发现相比考试前多了一些腐败的人。

回去等表演结束后开始玩起了谁是卧底,什么“cdq 分治”和“整体二分”,“基环树”和“仙人掌”,不过没玩几局就要睡觉了。

洗完澡后一直刷手机直到 ZSH_ZSH 洗完澡出来,此时十二点,我们宿舍除了 ExplodingKonjac 都还没睡。看 QQ 发现 Charlie 也还没睡,于是又摆到了 00:30。

Day 5

上午是随机化和近似算法讲解,听到后面近似算法掉了,于是激情 richup,联手对抗资本家后因网络原因失败。

下午听吹水,感觉是今年 WC 最有趣的一堂课,虽然中途还是在玩抽象 richup。

“忙着谈恋爱也好”“手机摇一摇广告”“创作者激励计划”“四子棋搜索程序”“没有手也行”“我们查重算法会魔高一丈”“妈妈生的”“遇到一个加号,说明遇到一个加号”“喵喵喵喵嗷呜呜呜呜”“前面忘了,中间忘了”“对分数的追求和对失败的恐惧”“你可以去知乎上问一个问题”“我到河北省来”“有一千只猫娘在身上爬的原神高手”“优质解答:我不知道”“不要来清华,有阴间集训”“没有在高中把大学上完”“原神是近几年中国最好的游戏”“AI 没有办法给你一个拥抱”“我玩原神”“你可以去清华试一试”

KHIN 今天怎么 rk4 了!怎么每次都是最后一场比赛翻盘啊,要是每场都能这样就好了。zak 以总分 20 分的差距爆拉第二名。

晚上来自习室更新了一下游记,然后回宿舍开始筹备狼人杀(为什么我们楼层都拉不到人玩的啊/kel)。

先开了把 7 人咒狐局,当女巫第一晚没救预言家第二晚撒毒法官没看到/lb

然后不断拉学弟过来凑到了 10 人局,竟然拿了预言家!可惜没多少人信我,警徽没吃到,对跳狼白天还归了外置位白牌,晚上女巫还毒了我/ll/ll/ll

然后又变成了 7 人玩生还者板子,和另一个人强强联手拿了狼!虽然天崩开局但还是用发言推掉了预言家!第二天队友跳女巫感觉跳爆了,幸好好人发病赢了。

继续开摆到 00:30。

Day 6

9:30 才开始答辩,不急,多睡一会。

花花的英文自我介绍好紧张啊,是不是要被 dzd 爆锤了。

sjy 怎么像抄袭 lxl 课件啊?lxl 还不锤他?《商业互吹》

最终国家队还是 1234。

晚上的飞机。中午吃完饭后回自习室收拾了一下,然后又急忙回宿舍收拾。一周的时间过的真快啊,以后 WC 能不能持续两周。

下午去闭幕式,发现座位变了,好像是按照分数排的?已知我前面的 zj 是 AK 的,那么前面就有 15 个 AK 的?不至于吧,Au 线多少啊。

网络极差无比,被大佬包围的感觉真的好恐怖,左边就是 xqw。分数线 Au 220 Ag 169 Cu 129,ExplodingKonjac 遗憾打银/ll

早早就被叫去排队,我好像是最后一批次的?ZSH_ZSH 说他考砸了结果 250,严厉谴责这种批/fn/fn/fn

好像只有三个 AK 的,我因为省份字典序优势被排在了第四个。赢!不过还是觉得 T3 正解没调出来很可惜。花多点时间在正解上就好了。

没有实体牌差评。

直接去机场了,飞机延误到了 20:55,于是和同学一起出去找饭吃。机场的东西都好贵啊,动不动就要差不多 100 块。

最后还是选择了吃汉堡,一个套餐+雪糕要 76 元,感觉心在滴血。不过好吃是好吃。有些人买了泡面,只需要 10 元。

回去瞎打 phigros 又涨了 0.01。登机后飞机又延误到了 21:12,这下今晚回不了家了。飞机上 ExplodingKonjac 的割绳子出 bug 了,于是和他激情联机 phigros。

窗外的星星很好看,但是手机拍不下来。

Day 7

00:30 回到家。

01:30 睡觉。

10:30 起床。补游记。

Day ???

省选 2024 rp++!

posted @ 2024-02-01 21:58  AFewSuns  阅读(856)  评论(0编辑  收藏  举报