49th ICPC 杭州站战犯打星游记

yshpdyt

2024-11-09 22:45:42

Life & Travel

前言

xyd 获得了四个参赛名额,于是成功凑数,大概是四个队中的最弱队,队友是 _Paradox_ 和 liaoyichen (以下简称 wg 和 lycc),根据平常讨论的题目的经验,似乎是三个战犯组队,为了假装提升自己的实力,采用了请神上身的方法,把我们三个人总共六个 QQ 号昵称改成了 zak 的使用过的昵称和一只奶龙

辽宁省赛

被叫去 \text{vp} 辽宁省赛,几乎是各打各的,以三发奶龙罚时不怎么顺利的过完了几个签。此时剩下了字符串题,数位 \text{dp} 题,看起来很 bitset 优化的背包题,以及论文题和大模拟。

大模拟场上过的人很少于是没人打算做。

背包题很早就被开了,但是一开始想的是假的所以被咕了,wg 很早提出了背包题用线段树分治就能过,但是 lycc 把 \log n 估算成了 \sqrt n 导致他认为一直过不去,我提出了若干种被一眼过不去的假做法。

数位 dp 题,只有我一个人会数位 dp,而且我也不怎么熟练,虽然转移方程比较板且很早推出来了,但是我一直没什么自信,所以在想其它解法,并让队友先写其它题。

至于字符串题,由于每个人都有自己要做的题,所以一开始没人重视,把背包题过了后队友研究研究就过了。

此时大概还剩一个小时留给我写数位 dp,写完还有 40 分钟,可惜最后还是对于样例有偏差,没有调完 10 题离场了。

10th CCPC 哈尔滨站

起晚了,队友先开过了两题,随机给我分配了一道题让我看。

一眼秒了然后思考可能假的 corner case 并等队友调完,花费了 eps 分调完,一遍过了样例,一交发现 WA 了,原来是没有判断为空时不输出,再交还是 WA,原来是多输出了空格,还是 WA,此时已经怀疑做法假的妈妈都不认识了,和队友讨论发现没有问题,仔细一盯发现没有输出数量,这下真战犯了。

接下来并不顺利,wg 写的 K 多测没清空一直过不去,lycc 的构造挂在第 16 个点,而我不会 SA 做不出字符串题,平面几何题会了但求凸包没写过,期望 dp 题脑子更是一团乱,就这样上机机会几次来回横跳后发现了 K 的问题,最终三个人都破防开摆,515 罚时喜提铁牌。

Day 998244352

因为下午有热身赛,所以咕掉了上午的模拟赛,一觉睡到 12:20 被叫醒,早饭午饭都被吃就被带到了地铁上。

到的还算早,一进场就看见 Qingyu 拿着赛马娘随机游走,在座位上闲着没事跟队友看了看参赛名单,接着 lycc 尝试寻找 Hydro 徽章工作人员未遂,经过漫长的开幕仪式就发放试题了。

两个奶龙队友找不到 Vscode。我把 A 秒了准备上机却被 lycc 截机了,wg 在看 B,于是我去看 C ,推了半天式子感觉是很神秘的打表题,由于需要上机,扔掉去看 D,此时 lycc 过了 A,似乎也比较会 B。

查了好多单词,才发现是求给定字典序的逆序对,很容易想到字典树,暴力做法是使用 Trie 树代替排序来实现类似二维偏序的过程。

此时队友 B 过不去,广播说了一堆含糊不清的话,好像是说 B,D 提交界面反了,重新交了也没过,看了样例以为只是标题错了,还是应该交 B 题,于是两个队友开始调错,并且很快发现问题,交了一发发现 WA 了,换成二分还是 WA,此时发现没有点保存交的还是以前代码,重新交又 WA 了,造了一堆小样例感觉都没有问题,此时下载样例才发现确实应该交 D,于是以 6 发罚时过了 B 题。

期间我把 C,D 的题喂给了空闲队友,wg 上机把 C 打完表就找到了规律,lycc 直接写就过了。

D 题两个队友都秒了,只需要在 Trie 树上统计同一节点的两个字母偏序关系即可,也是一遍就过了。

于是热身赛实现了一个负贡献,一个零贡献,一个 eps 正贡献的队伍喜提 Cu 的成绩。

其余三只队伍两个高位 Au,一个高位 Ag,期间还被嘲讽了。

打完比赛去华为举办的竞赛高手面对面活动,进去发现就是一个讲座于是光速逃逸了。

两个队友回去加训了,我则和其他人在杭师大里继续转悠,由于饿的不行了,含泪花 29 在星巴克吃了一个三明治作为早饭,出门随机游走找到了 KFC,里面全是选手,又含泪花 20 点了份汉堡作为午饭,等了 inf 分才取到,其实可以花杭师大送的钱,但是需要排更长的队,估计撑不到那个时候了。

然后在杭师大随机游走,尝试找到一个地方吃晚餐,结果转到了一家比较高档的餐厅,估计不是我们能消费的,于是坐地铁逃逸了。

回家试穿了一下发的衣服,尺寸过大甚至能当裙子穿了,而且很薄很扎,很差评。

Day 1

昨晚被蚊子纠缠上了,半夜醒了好几次,睡眠时间 eps 时,早上起来喝了一瓶红牛才不困,似乎我们队伍 \sum\limits \text{sleep\_time}\le 10\text{h},睡的最少的我反而是最亢奋的。

开题顺利,优势在我

进场,分配方式是 lycc 先把码头写完,我正开,wg 倒开。发现 A 上并查集就做完了于是把 lycc 赶下机来,一遍过了。

此时 wg 貌似会了 M, 但是不太好写于是先咕咕,lycc 给我喂了 K 的题意,被我秒掉讲完解法打算上机时,再次被 lycc 截机,但是没过样例扔给我调,一看他写法直接对下标统计而不是对 a_i,且没有保证充足的位置更换,改了几秒就过了样例,然而提交喜提第一发罚时。

遗憾下机,此时 lycc 会了一种新的奇妙解法,于是重构核心代码,结果喜提第二发罚时,枚举了几个样例发现不可能出问题,使用小黄鸭调试法发现一开始初始化范围就写错了,改完就过了。

虽然两发罚时但是依然优势在我,wg 上机写了 M,此时 lycc 开 B 并会了两只老哥做法,对 D 似乎有些思路。我去看了 I,似乎是分讨加二分,由于怕少情况可以等他们下机后一起讨论。

MIT 开局,靠题数取胜

但是 M 提交后寄了,讨论发现假了,队友选择去讨论 B 想找到一老哥做法,我被分配去看过了较多人的 E 和 H,但似乎除了随机乱排没什么想法。

lycc 发现 B 时限为 4s,于是坚信两老哥可以卡过,在他上机时我把 E 喂给了 wg,鉴定为似乎是按 r 从大到小排序就很对,把 lycc 赶下了并喜提一发罚时,造了样例发现假了。

wg 继续想 E,我去看 H,题目很长但好不容易看懂了,只需要找到最长链差不多就做完了,或许太长时间没有过题,我没有细想就上机开写,喜提罚时,然后打印代码被 lycc 赶下来。

回合制战斗:

yshpdyt 光速找到了 H 错误,循环嵌套用了两次 i,截机,罚时,打印,被 lycc 赶下来。

yshpdyt 又光速找到了 H 错误,忘记对最长链排序了,截机,罚时,打印,被 lycc 赶下来。

lycc 使用了 提交,效果甚微,喜提 WA。

lycc 使用了 #define int long long,效果一般,喜提 TLE。

lycc 使用了 卡常,没有效果,喜提 TLE。

lycc 破防,lycc 被迫下机。

yshpdyt 龟速找到了 H 错误,发现多条长链不能挂到一起,截机,罚时,破防,爆裂鼓手,打印,下机。

lycc 开始看 E,效果拔群,声称获得了一个对完了的做法,上机,寄掉。

wg 觉得我 H 写法太史,上机重构,喜提 WA。

yshpdyt 龟速找到了 H 错误,发现最长链可以挂较小的链提升子树大小,上机,双指针,罚时,反复爆裂鼓手,打印,下机。

wg 还是觉得 H 做法太史,上机重构,终于 AC。

wg 认为 B 线段树常数小于树状数组,于是上机重构。

lycc 声明获得了一个正确的 E 贪心做法,lycc 上机,假的妈妈都不认识了。

wg 还在调 B。

lycc 再次声明获得了一个绝对正确的 E 贪心做法,lycc 再次上机,假的奶奶都不认识了。

wg 调完了 B,但是似乎过不去样例。

lycc 找 yshpdyt 讲述了自己的做法,yshpdyt 感觉有道理完了,但不敢苟同对于相交段内部的直接判断。

lycc 反反复复声明获得了一个绝对绝对正确的 E 贪心做法,lycc 夺机,假的奶龙都不认识了。

wg 终于过了样例,并询问 4\times 64\times10^6long long 能否开下,lycc 面带笑容,lycc 认为可以随便开。

yshpdyt 认为 M 解方程很有道理,但其余两人似乎很早就发现了,于是无人在意。

wg 使用了提交,wg 获得了 CE。

wg 调小了范围,wg 继续 CE。

wg 再次调小了范围,wg 变成了 WA。

lycc 进入狂暴模式,反反复复对 E 题进行刮痧。

yshpdyt 放弃了思考,并食用了香辣鸡腿堡。

比赛结束了,最终喜提三题打铁。

后记

A B C D E F G H I J K L M
唯一无罚时 双老哥卡不过去 不会平面几何 lycc 看错题了 死在了输出方案 简单分块题没开 看都没看 简单构造罚时上天 分讨二分没有写 看都没看 初始化错误有点罚时 看都没看 想法正确无人在乎

打铁了。

似乎我们队伍总是会开很多题,然后调不出来罚时上天,三个人都做自己的题,互相抢着上机,遇到有点细节的题就只能以少题多罚时的悲惨结局收尾。

看来不得不加训了。

用杭师大打的钱吃了一根杭师大冰棍,纪念第一次 ICPC 的惨痛经历。