CSP-S 2024 & NOIP 2024 游记

开坑。

CSP-S

Day -998244353

首先得知某市要统考,某中学被削了,要准备初赛。

不得已看了点书,做了点题,但是显然水准太低。

去考了初赛,喜提 74.5,没打过 GPT。/cf

最后还是进了二轮。

Day -1

进行了一些简单的复习,事实上一直到当天晚上都没复习多少。

试机的时候我写了个线段树,不知为何机子无法对拍,改成简单的东西以后又好了,不知道机子有没有问题。

Day 0

上午进行了一些复习。

中午看见了 J 组题,不咋会 T4,感觉有点压力,睡不着。

起床以后终于看懂了 T4 做法。然后就跟着大巴车走了。

到考场以后就直接上去了,然后比较平淡的进考场,写缺省源,等待看题。

大概 14:30 左右拿到了题。

T1 想了大概十分钟,一开始想的是贪心 + 模拟,后来感觉是众数个数,然后我实现了贪心 + 模拟,然后发现等价于众数个数,过了样例而且我非常相信我做法,就检查一遍文件直接去 T2 了,这时候 14:40。

T2 看了以后发现一个点被检测超速的区间显然是连续的,然后第一问可以二分得到左右检查点直接判断,第二问是选择最小点覆盖所有区间。这个感觉很典,但我的做法是去覆盖只保留极大区间然后从左到右贪心,我认为会很难写,就先跳了 T2。

15:00 左右我看到 T3,感觉很容易刻画出 \(n^2\) 的 dp, \(dp_{i,j}\) 表示当前在 \(i\) ,上一个异色点是 \(j\) 的最大 \(\sum c\) 即可。考场上我还记了一下是哪种颜色,其实是不必要的。

注意到转移非常容易,是一个 \(dp_{i,i-1} = \min(dp_{i-1,j} + c(i,j), dp_{i,i-1})\) 或者 \(dp_{i,j} = \min(dp_{i-1,j} + c(i,i-1),dp_{i,j})\) 的形式。

很舒服,不用前缀和优化。

然后我突然意识到一点,这个东西好像是在跳一样,中间的贡献 \(c\) 是可以前缀和统计的,每次是在跳到 \(dp_{i,i-1}\) ,然后后面就是继承。

那你直接就 \(dp_{i,i-1}\) 好了,设 \(dp_{i}\) 为强制钦定 \(i\)\(i-1\) 异色,然后最大的 \(\sum c\) 。注意到你转移式子很显然可以拆式子然后前缀 max 维护,15:50 的时候我通过了这道题,跑的飞快。

16:00 的时候我明确了 B 做法并开始写 B,按原来的做法写完了以后发现应该保留极大区间然后左到右贪心,我又想了一个方法维护它,然后在 16:50 的时候写完了,发现过不去样例 3 和样例 4 ,而且甚至挂在第一问而第二问对了。我看 3 的性质是 \(v=0\) 我还过不去,很疑惑啊,发现我没判开始就不会被发现的情况。良心样例!改完过了。17:00。

这时候是 100 + 100 + 100 + 0,感觉我从未获得如此之高的分数,并且我感觉 T3 那个线性做法大概是个很难的 trick,于是我就多花了一会时间想 T4。

T4 想的很不顺利,到开始写暴力的时候已经 17:30 了。然后我错估了暴力的复杂度并认为是 \(n^2 m\) 的。于是我就一直写一直写,在改暴力的时候,18:03 左右,编译运行了一下以后,突然就蓝屏了!

很没办法,我不知道是不是我程序的问题,加上没有第一时间发现我 T4 代码丢了,并告诉工作人员,我只能在 20 min 里疯狂重写,最后失败了,遗憾离场。

出场以后报 100 + 100 + 100 + 0 的时候我有点郁闷,听说大家 T4 有 8 / 16 / 32 / 48 ,感觉就更郁闷了。

后面两周一度以为我 T3 数组开小了,最后我测的空间挽救了我的心态让我确定开了 5e5。

最后确实 100 + 100 + 100 + 0,很好的开局最后打的不好,我也反思了我应该稳健的打暴力。

image

NOIP

S 考完后一个月我在 ytez 的期中考试中大获全胜,使我的 rp 有一定降低。

Day -1

比其他人晚到一天,一下午外加一晚上都在复习,但是感觉复习效果不很好,比如没有咋看 trick 之类的,尤其是各种典题和 DS 题,还有计数。

晚上试机,机子很舒服,虚拟机密码 noip,不过最后也没用上。

Day 0

进场之前相当紧张,感觉这一个月啥也没干,虚度光阴。

进场以后打了个快读,结果快读是错的。后来因为开了全套编译命令才发现,然后改了。

开题之前一直在回想板子。

压缩包密码 forget#2501 , pdf 密码 memory@2107。

开场先看 T1,感觉有点困难的。

首先你肯定是两个序列断点分成若干段,然后你肯定就是一段内匹配,要考虑前面段剩下的东西。想了想感觉先让前面的段满足是好的,因为你扔到后面也不会更好,如果满足不了那就是 0/1 少了,然后你也必须要填这个,大概在 9:40 的时候才写完并且过了。

看了 T2 T3 T4,T4 感觉有点典啊,想着出场以后会怎么评价它,T2 我没啥想法,这个题成功让我 noip 大获全败。T3 读懂了题面,没看到特殊性质,感觉暴力难的一批啊,先写 T4。

T4 注意到相邻 lca min 以后就是 max min 了,这个东西感觉非常非常典的,但是就是不会,想了 inf 种假做法,因为有 CSP-S 过 T3 的经历,我认为这个 T4 也不是那么不可做,胡了包括但不限于整体二分之类的东西,但是没想到单调栈处理可行区间,于是最后也不会这个题。

然后对 \(n \leq 5000\) 和特殊性质 B 打了暴力,写的是 \(O(n \log n) - O(n)\) 的单次回答询问,两个是一样的,没有特殊性质 B 的样例,于是我数组开成了 3e5 而没发现。

想了想,我要是会链了,那不就会这个题了?我认为链和这个题等难,事实上是这样的。但是我没想到的是这个题都不算太难。

10:10 的时候我开始想 T2,我 T2 想的是你不合法一定是存在一条链从一个关键点到另一个关键点吗,这可以容斥一下,然后就被硬生生降智了,认为容斥很不可做,尤其是我不知道几个点有交的时候怎么说,本质上还是我对容斥很不熟悉。这题我也没看特殊性质。

到 11:40 想的就是你不过这题你就会度过一个相对失败的 NOIP 2024。

然后我突然灵机一动,发现可以一段一段的处理,这是计数题的经典套路我也忘了。

事实上经历何其相似于 SDCPC 2024 场上做不出计数的我,那个题就是分段,我 NOIP 场上正是想起了这点,然后我就被救回来了。去了趟厕所,我有点想法了,然后中间假了一次,在不是很清楚计数原理的情况下调了调直接过了这题,这时候 12:00。

我想我 NOIP 终于被救回来了,有一种劫后余生的庆幸。这应该是我考场上首次陷入错误思考这么久还把自己救回来了。

我赶紧看 T3,T4,T4 又想了十分钟并且确定链 = 正解后,我犯了本场的最后一个错误:没有看见特殊性质 A,B,然后只看见了 k=1,并且不会 k=1。这个错误直接把我绝杀了,并且让我给链不要链。

然后我就去打暴力了,一方面是猜 k=1,另一方面是想多过几个点。想法很好,30 min 到结束暴力都没写完,我最后 1h 完全没分。

出场报 100 + 100 + 0 + 32 的时候心情很差,因为大家都 280。被调侃给链不要链了。然后冷静下来一想,发现我最后 1h 的决策确实很有问题,应该尽量纸推的,参见联合省选 2024,这使我获得了 T2 的一点分。

第二天去打了一个唐氏比赛,除了工程题以外都 AK 了。

第三天发现我数组好像开小了。我记得开的 3e5。

然后就 100 + 100 + 0 + 20 了,很多人 T1 T4 挂惨了,但是我只挂了一点。

image

后记

NOIP 结束以后久久不能平静,自己到底是哪有问题来着?

T4 实际上 $ \log ^2 $ 不难,T3 我压根就没细想。

T3 T4 发挥远远低于实际水平,当然整场来说算是中规中矩的发挥,按说打满我该是 100 + 100 + 40 + 68 的,这个分很好了,虽然我心里也明白这不可能。syz 大胜,他是 100 + 100 + 40 + 48, 他说他打满了。

我自认为可能是期中让我掉了点 rp ,然后再就是我本身策略就不合理,你对难以打暴力的题不应该及时理论分析吗?为啥要打暴力来着?

还有就是不熟悉的 DS 典题让我没过 T4,然后对计数的不熟悉和没脑子让我花了很长很长时间写 T2。

要不是我死磕然后过了,完全就是失败了,甚至失败的那个结果让我惧怕,感觉完全就是一年啥也没训。感觉这套题就是对我不利,对大多数人很简单的 T2 对我的个人差极大。

只能加训计数,DS 和 ad-hoc 了。还有就是脑子不要死了,灵活安排,及时调整策略,我调整策略后 20 min 杀掉 T2 足以证明这一点。

唉如果我失败了大概是某人那样的结局吧,看着他我感觉也挺惧怕那样的结果的。只能说最后杀了 T2 是我的运气。可能运气又帮助了我一次。

都过去吧,现在事也一大堆,还有月考,压力真挺大的,不过我感觉比较少,因为毕竟不是很坏的结果。感觉月考大概率不会很高。但我努力一下,必须让它不是很低。接下来大概是给自己制定一个计划,别摆了。

posted @   xiaohuzai  阅读(17)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示