負け犬にアンコールはいらない - CSP & NOIP 2024 游记

2.2k 词

CSP-S 初赛

Day -2

晚上做了下 23 年的卷子,做得有点 yyz,最后 85.5 分。好像也不是很爆。

Day 1

上午不想偷学,开了一上午 chess。

中午吃完饭看了眼 J 组的题,好像全是唐题。

下午带着唐龙玩偶去找 zyz。

面到了诸暨的故人 & Binary。

然后随便聊了聊就进考场了。

发现我们考场有至少 7 个我认识的人……

卷子发下来就直接从前往后做,发现有欧拉图题,乐了。

第 10 题看也看不懂题是啥意思,但是注意到 α\alpha 可以取到 11,所以直接排除掉 C 选了个 D。

做完 15 题看了眼表,不小心以为两点开始然后以为已经过去 40min 了,几把吓断。

阅读程序 1,把 ~ 当成了 -,爆蛋。

阅读程序 3 没太看懂 solve() 在干嘛,然后瞟到了第 30 题,看懂了。然而没有注意到有个 sort 于是误以为复杂度是 Θ(nloglogn)\Theta(n \log \log n),但是题里写的是大 OO,于是误打误撞选对了。

完善 1 简单题,做完发现我怎么全选 A,但是不管先做 完善 2,然后发现 4 个 A,非常恐慌,但是还是先把前面 skip 的题都写写完,此时刚好过了 1h。

从头开始检查一遍,发现 4 元环数成了 C(10,4)C(10, 4)

重点检查了好几遍完善程序,感觉没啥问题。但是过程中注意到它定义了一个 inf,然后扫了一眼没有看到哪里用了 inf 就没管。电子竞技不需要视力。

出来问 zyz,他说他完善程序没几个 A,害怕,然后又问了下其他人,发现是 zyz 唐了。但是应该是 0x1f,我也唐了。

阅读 1 虽然搞错了但没错几个题。

但是发现我第 4 题 A103=10!3!7!A_{10}^3 = \frac{10!}{3!7!},魅力时刻了。

最后 90.5,感觉每题都错得很唐,已经可以想想高三退役后 whk 各种神秘原因扣分的场景了(

Day ?

zyz 欧拉图那题做对了,他好强。

CSP-S 复赛

虽然很破防,但已经是最后一个赛季了,还是把游记写写完吧。

Day 1

上午和 Lynkcat & 紊莫 duel,写了点板子。

车上复建了几把 Phigros,实力严重下降,然后听了会歌。

然后下午到考场有点迟已经该进场了,但还是面到了 zyz。

右前方是紊莫,看到他第一眼没绷住笑了出来。

监考老师口音严重 GJZ 不分,报 pdf 密码的时候还少爆了一个 T,然后我对面选手问监考老师密码监考老师还很不耐烦的样子,有点幽默。

开场先把 VSCode 配了一下,然后写 T1,马上就过了,思考了一下写了个 selfeval。

然后看 T2,发现是高一物理题,但是推式子推了很久,然后没过样例,开始 debug,调着调着发现是 >V> V 而不是 V\ge V,然后大改,最后写完已经 1h15min 了。

然后看 T3,第一眼没啥想法,就把 T4 也看了一下,感觉比较可做,但还是先想想 T3。

首先容易发现每个数要产生贡献一定是和他前面第一个和他相同的数在一起,否则可以调整不劣。然后考虑 O(n2)O(n^2) 做法即设 dpi,jdp_{i, j} 表示一个在 ii 一个在 jj 时的答案。令 toito_iii 之后第一个与 ii 相同的数的位置,考虑转移,要么 ii 产生贡献到 (toi,toi1)(to_i, to_i - 1),要么 jj 产生贡献到 toj1,tojto_j - 1, to_j,否则都不产生贡献说明 i+1i + 1 放哪里都无所谓,可以更新到 (i+1,i)(i + 1, i),因此可以设 dpidp_i 表示两个一个在 ii 一个在 i1i - 1 的贡献然后直接转移。会完就想今年 CSP 咋这么简单,然后马上写完调完,此时过去了 1h55min,有点激动。

平复一下心情看 T4 发现 polylog 是简单的,从前往后加点然后维护贡献就好了,但是由于比较亢奋所以过了比较久的时间才总结出一个清晰的单 log 做法,大概就是每次加点的时候更新祖先的信息,维护已知点的答案和未知点可能的取值,然后左边已知点只有 O(logn)O(\log n) 个,右边可以分成 O(logn)O(\log n) 段。比较怕写不完所以直接放弃正解去写了,写到一半发现是双 log 的,有点玉玉,但还是先写完了,一测可以过 T=16T = 16

然后想能不能优化,发现瞎几把改改就行了,但是这时已经没多少时间了,最后写完没过样例。

出考场发现大家基本上 T4 都是单 log,有些常数大的和我双 log 一个分,安心了。回去路上开 richup 把手机电用完了。路上 wc 说会不会有人多测不清空因为大样例数据规模是单调不降的,我想了一下我好像都清空了?

最后回家尝试默写 T1T3,然后发现 T3 前缀和没开 long long 并且没有清空 a[n + 1],这下最低 00 分了!

又是唐完的一场,真写代码不带脑子导致的,场上竟然仅凭瞪眼就调过了大样例实在不可思议,可惜最后还是 FST 了。

该加训代码能力了……

score: 100+100+[0,100]+[68,76]=[268,376]100 + 100 + [0, 100] + [68, 76] = [268, 376].

输。

别没得去 WC 啊……

Day 10

出分了,一分没 F,100+100+100+76=376100+100+100+76=376,赞美出题人!

留言