NOIWC2022 游记
本来一开始是线下的,后来又因为疫情缘故改成线上的了。
然后这几天本人都这忙那忙的,很多课程都还没有来得及听,所以许多记忆都很模糊,这里就随便举一些吧()
Day 2(1.23)
第一课堂是刘汝佳、曹钦翔老师的课,但刘老师当天没空,就先前录了几个视频。
然后本来他只需要讲一半的量的,结果一录就是 $3$ 个小时,题目数量有点多,很多问题自己也没有跟上节奏就讲下一题了。
lrj 语录:『可能讲得有点慢。』『接下来请曹老师讲后半部分的内容。』(指剩下 $30$ 分钟)
Day 3(1.24)
Waiting...
Day 4(1.25)
邓老师(dmy)在美国半夜给我们上课(
邓老师名言太多了,记得很清楚的就是『这题洛谷居然有加强版,洛谷这么强的吗』
Day 5(1.26)
Waiting...
Day 6(1.27,测试日)
来机房一起比赛。开始测试前几分钟大家摆得很快乐。
开题以后,发现有一道交互,刚开始以为这题只有 $0$ 分和 $100$ 分吓得不清,一会儿了才发现有计分方式。
$8:35$ 看 T2 题面简单就先去考虑。怎么有种做 lxl 题的感觉
暴力桶排解决 $n,m \le 50000$ 在本机要跑 $6s$,时限是 $5s$,希望评测机能快些。
然后 $m = \frac{n(n-1)}{2}$ 直接 $\mathcal{O}(n^3)$ 加一堆小常数写了。
$|i-a_i| \le 10$ 的数据的话,可以发现 $[l+10,r-10]$ 一定在 $[l,r]$ 内,边角暴力中间预处理算就可。
$9:50$ 开始看 T1。奶奶滴,又给我玩()的是吧,直接—来—吧
一想到 WC2021 T2 还有今年 CSP-S 的 T2 就不再想去写那种kimo的爆搜了。
不过发现 $25\%$ 的数据可以无限用增删括号对,然后没花多久就写出来了。
我自己想的办法就是利用栈把 $s_1,s_2$ 删空,然后把删 $s_2$ 的办法倒过来变成加括号。
至于当前被删 / 添括号的编号,我就直接无脑上树状数组统计。
$10:55$ 本来是想切换成 Linux 系统做 T3 的,但是人挺懒的就没换成。
先根据想象写了一个大体的程序,然后调编译命令花了我不少时间……
终于可以运行 grader.exe 了,之后窗口弹出来 Final score: 0.000
直接心肺骤停。
不死心,加了个随机化,Final score: 0.085
谢谢,孩子已经晕了。
一开始以为代码内说 init 函数说什么都不要写,但是你不写字典怎么读入,打表吗()
接下来我以为是自己猜词的策略出了问题,一直优化一直优化。
发现分数始终不到 $1$,就删掉了剪枝,喜提 $2.330$ 分。
就这么盯着电脑屏幕看到了 $13:10$,一想到今年比赛打成这个样子就有些难受了。
在 grader.cpp 代码写一些调试语句,发现我怕不是写了个人工智障出来,$5$ 次机会给你,结果猜的是同一个词。
之后我就发现了个问题,他会给你猜 $1000$ 次词,上一次猜所排除掉的错误单词可能就是这一次的正确答案。
然后检查了下全部的代码,每一次猜新的词之前,把该初始化的全部初始化。
而 srand() 会重置随机种子,所以搬到 init() 内。
$13:16$ 重新编译测试,好家伙 $52.3$ 分。
之后除了提交代码和检查文件输入输出以外就没有别的事情了。
赛后问其他同学,Aestas16 的 T3 大概有 $87$ 分,Qzong T3 可能满分,Nesraychan 可能过掉了 T2。是我菜啊,没事了。
自己估分 $25 + (50 \sim 60) +52=127 \sim 137$,祝愿不挂。
Day 7(1.28)
分数线 Au 150,Ag 100,Cu 40。
成绩是 $10+40+51=101$,比预期少了 $36$ 分,不过还踩了 Ag 线。
T1 本来大家说都有 $25$ 的,几乎所有写 $25$ 分的选手都挂成了 $10$ 及以下;T2 我挂了一档 $20$ 分……
OI 路,也如人的一生,路上有无数的风景和障碍。每个人不可能永远停留在同一个时间点,终究要面对前方的未知。
希望我以后能有更好的状态吧。