CSP-S 2024游记

貌似是 NOIP 2021 之后的第一次游记。

初赛体感很难,阅读程序好多部分都没算清楚,完善程序好几个空改了又改。

但出考场上洛谷估了一下貌似不错,得了87分,于是乎进了复赛。

考前完全没打模拟赛,前一晚匆匆打了一些模板后就睡觉了。

高三周六上课,上午考了一场生物一场化学,生物70分钟80多道选择真的吓人。

考场在101中学,考前印象最深刻的是不让带水与食物进考场,隐隐有不详的预感。

打开下发样例,貌似有两道都是输入 nn 个数,输出一个数,感觉题很对胃口。

14:30 考试开始

一开题就看呆了,直接把 ri 排序就做完了吧?

14:44 过了 T1,开 T2

很迅速地把题目转化了一下,对 a 的正、负、零分类讨论,很快地解决了第一问。

突然意识到第二问是一个区间覆盖问题,不是很好做,于是先把所有的区间处理出来,做了特殊性质 AB,此时为 15:47,只有 140 分,不妙不妙。

迅速地冷静了一下,发现区间覆盖可以预处理所有区间的信息,再做一个简单的 dp

作为老年退役裸考选手,代码能力急剧下滑。16:30,拿到 200 分。

T3,想了半天 dp 没头绪,开 T4

对于 T4,我本就不抱着拿什么分数的预期,打算打完特殊性质 A 就跑路。

可是还是低估 T4 的恶心程度了,花了半个多小时还是没有调过,于是果断放弃 16 分,转战 T3

一维 dp?记录的信息还是太少,思考了半天没有头绪。

于是考虑令 fi,j 表示前 i 个数,前一个蓝色为 j 位置,i 位置为红色的最大值,令 gi,j 表示前 i 个数,前一个红色为 j 位置,i 位置为蓝色的最大值。

有转移:

fi,i1=maxj=1i2{gi1,j+[ai=aj]×ai}fi,j=fi1,j+[ai=ai1]×ai(ji2)gi,i1=maxj=1i2{fi1,j+[ai=aj]×ai}gi,j=gi1,j+[ai=ai1]×ai(ji2)

显然,fi,j=gi,j,故只用设置一个 fi,j,如此有了 O(n2) 的暴力 50 分,此时已经只剩一个小时不到了。

提高注意力,发现了存在 Ai10 的部分分,于是考虑对于值域进行 dp

fi,j 表示前 i 个数,前一个反颜色为 ak=ji 位置为该颜色的最大值。

转移为:

fi,ai1=maxj=0106{fi1,j+[ai=j]×ai}fi,j=fi1,j+[ai=ai1]×ai(j[0,106])

但是考场上并没有写出式子,因此写了一个线段树维护,敲完代码已经 18:10 左右了,没有通过大样例。

可能是考的怎么样都无所谓的缘故,非常松弛地找到了错,调了出来,此时是 18:25

很水的大样例都跑了 1.5s,但真的没有时间卡常了,直接交上去了。

估分 100+100+[75,100]+[0,16]=[275,316]

出考场学弟们全部 340+,祝他们好运。

生物选择错了许多,祝我好运。

posted @   David24  阅读(20)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类
历史上的今天:
2022-10-31 CSP-S 2022题解
点击右上角即可分享
微信分享提示