NOIP2025

比赛历程

进考场,感觉手有点紧。(怎么回事呢)

看题,看 T1,发现利用一些性质就做完了,于是就直接写了。(但是我不记得有一个细节我有没有判了!可能要挂分!)

然后看 T2,感觉和平时比较毒瘤的联考 T1T2 有些像,就是那种堆点时间就能过的题,但我暂时没啥思路,就先跳了。

看 T3,这个题保证了深度不太大,想了一段时间后把问题转成了一个树链剖分的模型,然后胡了个假做法。。。写了一段时间后发现做法假了,但想了想后发现能改成 \(O(nm^2)\) 的正确做法,有 76 分,于是我先实现这个做法,然后回去看 T2。这时大概 1.5h。

做了做 T2,发现并不是很困难,大概在 2h15min 时通过了大样例。

接下来我想了 15min T4,但发现要得到一个有效的分数都有些困难。于是我决定继续做 T3,但由于 T3 最后的部分只价值 24 分,于是我限定自己最多尝试 30min,也就是说如果没有思路,在 3h 后就必须开始专攻 T4 了。

但事实上我在 30min 左右确实有了思路,得到了一个 \(O(nm\log n)\) 的做法,只需使用树状数组,当时我觉得做法还有优化的空间,可是我十分地信任树状数组的常数,觉得这个肯定可以通过,于是就直接开始编写代码。

一直到了 3.5h 左右,我终于写完这个做法,可 CCF 并没有下发极限数据,于是我自己造了一个星型图,可测试结果却让我绝望:我的代码需要跑 4s。这意味着我花费了 1.5h,却没能获得任何比 \(O(nm^2)\) 更多的分数。

这时一丝恐惧在我心中升起,我想到这是我的最后一次 noip,难道又要以这样的结局结束了吗?我回想起我曾经打的比赛,从初三开始,好像都是同一个剧本:我想到了一个比正解劣一些的做法,并认为其能获得不错的分数甚至是通过,可花费了许多时间编写完后却发现其实拿不到啥分,时间也因此所剩无几,最终只能以遗憾结束。初三我是栽在了省选 D1T2《魔法手杖》上,高一我栽了两次:一次是 noipT4《树上查询》,一次是省选 D1T2《追忆》。难道到了今天,悲剧又要重演吗?

但我不甘心,于是我做出这场比赛中最正确的决策:放弃对 T3 卡常,做 T4。

来到 T4,首先肯定要将问题用平面模型来描述,我发现每个点处的查询是一个等腰梯形,梯形查询的困难在于其无法移动,详细地说是无法删除。但之后我发现平行四边形是可以移动的,进一步发现大部分的等腰梯形都能用两个平行四边形覆盖,而无法用两个平行四边形覆盖的梯形的剩余部分也会满足性质 \(l'= 2l+1\)。于是可以直接用平行四边形覆盖部分贡献,然后做 \(l\gets 2l+1\) 的迭代,便可做到 \(O(nq(\log r-\log l))\) 的复杂度。

之后我又发现题目中有不少形如 \(l\ge n/2,l\ge n/4\) 的特殊性质,这意味着这个做法已经能拿到一个不错的分数了,并且正解应该就是该做法的拓展。此时时间是 12:25。

我决定实现这个做法,想清楚细节后便开始写,出乎意料的是这个做法并不难写,很快我便写完了调出了单调队列以外的部分,之后拼上两个单调队列便完成了。此时 12:46,我意识到,我活下来了。

之后显然没时间对拍了,我检查检查文件,给每个题测试了一遍大样例,比赛便结束了。

总结

这场比赛对我而言真是意义非凡,它是我最后一场有意义的 noip,也是我最后一年第一场有意义的比赛。

正因如此,我打这场比赛的心境与 csp-S 时是完全不同的,整场比赛都在高度紧张中度过。我在赛前曾无数次告诉自己,今年无论我最后走到了哪一步,我都不后悔。可以最终走上赛场时的感觉还是完全不一样,我依旧会害怕、会慌张。可现在想来,这又有什么意义呢?比赛其实就是一场游戏,我只是一个玩家,目标只是嬴,赋予如此之多额外的意义,只会徒增压力罢了。

然后说说我的策略,这场比赛我犯一个极大的错误:我一个拍都没写。如果 T1 那个细节我真的写错了,并且 CCF 也卡了很多分,那我就真的有很大的劣势了。这个问题是如何导致的呢?我在平时打模拟赛时其实多次意识到了要写对拍,并且也写过不少的对拍,但我每次写对拍,都是在写完所有的分后,在比赛的最后再给每个题拍上。可 noip 的情况就完全不同了,在 12:10 时,我必须要去 T4 拿分了,否则 276 一定不够,而 T4 拿完分后,也就自然没有时间写对拍了。

这就暴露我的策略的一个极大的问题:对拍一定要是写一题拍一题,否则最后很可能会没有时间写拍

再来说说这个卡常的事,我以前一直不太在乎算法的常数,做题一般是能过就行,从来没有啥抢最优解的欲望。这也部分是受到大纲中建议“避免对算法复杂度的常系数的考察”的影响,但事实证明,我对常数的理解与把控是不够用的,省选 2024、noip 2024、省选 2025、noip2025 都因此吃了大亏,感觉总是因此白给实在是太不划算了,必须尽快提升对常数的掌握程度才行

最后说说我的水平吧,感觉 NOI 之后自己的水平确实提升了不少,特别是代码能力方面。当然,这样的水平显然是不够的,详见下图:

菜死了,菜死了,菜死了,菜死了,菜死了,菜死了,菜死了,菜死了,菜死了,菜死了,菜死了,菜死了。

继续加油吧[奋斗]。

posted @ 2025-11-30 13:02  zzzYheng  阅读(7)  评论(0)    收藏  举报