2024 CSP--S 游记

 


DAY 0

上午10点从校门口出发,坐着大巴往德州火车站走。

上了火车后,发现7车厢几乎一般都是hzoi的人,huge和xfg在第7排,我在第2排,旁边是xrlong。

到了酒店,下车抓拍了9G,欣赏P

image

DAY 1

上午的自习没什么事,简单看蓝书和打板子,以及写了一封感慨信。

中午睡了一个小时,然后坐车去考场。

本来挺紧张的,但是合影时大家一起喊“加把劲”直接就给我整乐了。抱着不爆零就行的心态去了。

开题:

T1、 决斗

签到题。直接 sort 之后双指针就行了。预计 100 pts。

T2、 超速检测

也是签到题。题意可以转化为有一个序列和一堆区间,在序列上选择一些数,其中对于每个区间至少包含一个。直接贪心扫过去就行了,具体来说,把那些区间按右端点排序,然后依次选择每个右端点处,并将包含他的区间标记上,以后这些区间的右端点就无需被选择。

没设eps,但是在洛谷上A了,也过了精度的hack数据,不要被卡。

预计 100 pts。

T3、 染色

解法一:

思考一会发现是DP,先把DP式子写出来:

fi,j 表示 到了第 i 位,另一种颜色选择的最后一个的下标是 j
那么就有

fi,j+[ai+1=ai]×aifi+1,ji+1i

fi,j+[ai+1=aj]×ajfi+1,ii+1i

然后你可以发现从 i 转移到 i+1 时,只有第二种转移会改变第二维的下标,而且转移后的第二维已经确定是 i ,所以直接转移最大值就行,那么就可以改写DP式子,省去第一维, fi 表示与目前的位置的颜色不同的最后一个位置的下标是 i 的最大贡献,当前的位置为 j

fi+[aj+1=aj]×ajfi

fi+[ai=aj+1]×aifj

对于第一种转移,就是个区间加。对于第二个,对于能加上 ai 的情况 ,那么 i 一定是 j+1 之前最后一个此类颜色的下标,否则不会更优,对于不能加上 ai 的情况,直接取最大值转移即可,那么第二个转移就转化为了单点查询。所以到此我们可以直接上线段树即可。

但其实这个区间加加的是全局,所以其实也不用线段树来维护,那么时间复杂度也可以直接来到线性。

解法二

考场上挺唐的,上来先想到了这种解法,结果当时脑子一抽就把他给否了。

fi 表示考虑到 i 位时最大贡献。

那么我们考虑,要想让这一位有贡献就必须得从上一个与他相同的转移过来,然后我当时一想,我虽然知道 prei ,但是 prei+1 位置的贡献我不知道啊,于是就否了,但其实直接由 fprei+1 转移过来就行了,因为 i+1i 一定颜色不同或者 i+1 就是当前枚举的位置,对于这两种情况均合法,然后只用算后面那一段的贡献,后面的贡献很好算,因为他们相同颜色的前一位就是下表的前一位,直接预处理 aj=aj+1 的情况就行。

那么时间复杂度就是线性的。

这两种解法后者好想又好写(真不知道当时为什么否了),但是第一种想法是从 ABC 里的一个题 Teleporting Takahashi 2 学习来的。

预计 100 pts。

T4、 擂台游戏

好一个黑题,还好当时就看出来不太可做,于是没写。

其实是可以拿点部分分的,但是为什么没拿:

就是考场那个表快了 55 min ,在我过了 T3 之后一看表就还剩 15 min ,然后看了一眼 T4,发现暴力并不好打,本着不爆零就行的心态决定去整理一下文件夹,然后趴在桌子上等着收卷。诶,再抬头已是 18:29 ,我一边纳闷老师竟然都不提示一下一边等着收卷,然后到了 18:30 也没收卷,然后当时我还想: 难道 CCF这么人性,过完 30,到了 31 才收?然后到了 31 他还是没收,等到了 35 发现不太对劲,举手问了一下老师,然后得知表不准。

然后就还剩 50 min,先给T3打了个拍,因为当时T3调的很急,过了大样例后不是很自信,然后就是那个老爷机跑 n=100 的点 跑了十分钟才对了 600 组,发现没什么问题后只剩下 30 min 了,去打 T4 的暴力,打了 15 min才打了 34 ,本着不爆零就行的心态果断选择整理文件夹。

预计 0 pts。


整体预计 300 pts

唯一觉得失误的地方就是 T3 因为一个唐氏错误调了很久。

出了考场吃了顿饭就回家了,晚上 2:00 到的家。然后第二天起来后去洛谷上测了一下,确实是 300 pts,希望考场上没挂就行。

UPDATA

100+100+100+0,没挂!

NOIP RP++

posted @   lzrG23  阅读(101)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示