NOIP2024游记

AC_Boy

2024-11-30 20:56:59

生活·游记

背景

JS弱市初三OIer,期中考差了,NOIP一共只复习了两个小时(11月28日:0.5h+11月29日:1.5h),打了6个模版上考场

赛前

10:50上床睡觉,早上六点被酒店前台吵醒了。明明昨天说六点半叫醒我,六点房间的座机就把我炸醒了。构思前台。

7:50进考场,写对拍,线段树,st表,结果一个都没用上。

8:20下发压缩包,8:30密码没发下来,8:34发了个错误密码,8:36才直接把没密码的题目发下来了。构思南外。

赛时

壹:急转直下

开题后花5分钟通读试卷,决定顺序开题。T1想了片刻就知道是贪心,然后决定用双指针维护。20min写完代码,调45min无果,心怀不甘转T2。

T2一眼计数,再看一眼得出如果相邻两个位置的数都固定,则有 v\cdot(v-1)+1 个贡献。但是没考虑到两个固定的子串之间的贡献不是 (v^2)^l 而是 (v^2)^l-v^(l-1)\cdot(v-1) ( l 是两个固定子串之间的长度),写了15min大样例有一个点过不去,无奈又转回T1。

贰:至暗时刻

T1查到逻辑上的一个错误:我把固定的点也加入到交换的数中了。改了一下还是过不去,原来比小样例输出大1,现在比小样例输出大2了。

此时,考试过去了2h,我一分都没拿到,心态快崩了。

最绝望的事情,莫过于自己看见了希望,而后又陷入深深的失望。

叁:转机

上了个厕所,接着调T1,把所有的数据流加了断点导出来看,算到最后发现是一个if-else逻辑错了。

10:57跑过T1大样例,2h30min换到100pts,国二有了。

肆:一路高歌

又回头开T2,加了个快速幂。然后分析公式为何错了,构造出了一种情况:

举大样例中一组数据的为例:
n=10,v=2,最后2,3,4,7,10位置被赋值为2,其他不做要求
当位置4的值是2时,要求位置5是1
当位置5的值是1时,要求位置6是1
当位置6的值是1时,要求位置7是1
然后这种方法就不满足要求了

推了一下,对于长度为 l 的无要求区间,有 v^(l-1)\cdot(v-1) 种情况是不能采纳的。

总结了一下公式,又调了20min,跑过大样例了。

此时12:40,T4想用ST表拿特殊性质A,发现是第k大的数,遂摆烂。

上厕所,有个老师盯着我看,生怕我从裤裆里翻出来小纸条,真猥琐。

12:50发现T4有白送的8pts,来不及拿了。

13:06交卷。预估分数100+100+0+0=200

赛后

排队登记时与旁边一位南通的老哥交流,他说他写了236pts,Orz

出来问了几个校友,除了@hepanrong·,其他人T1T2全写挂了至少一题,看样子优势在我。

走的路上发现T2没特判 n==1 时的情况,无所谓了,题目没规定,也不知道输出0还是1。

回头卷月考了,希望不要再考差了。

当然了,也希望不要挂分

成绩:

100+50+0+0=150,2=

update 2025-2-4

whk上来了,看了一下T2,把考场上的想法重写了一遍,莫名过了。也不知道怎么挂掉了50pts,加上就1=了。希望今年的NOIp别挂分了