Soratosorato

CSP2024 游记 / 总结

Sorato·2024-10-27 00:57·55 次阅读

CSP2024 游记 / 总结

CSP2024 游记 / 总结

赛前#

赛前打的最后一场模拟赛寄掉了。感觉状态不是很好。但根据 RP 守恒定律,CSP 大抵不会很差。

前一天晚上就到郑州了,在酒店住了一晚,属于是适应一下环境了。爽睡。

赛时#

T1#

2:30~2:45 签到题,从小到大排序之后贪心地让第 i 个怪兽和前面所有活着的怪兽战斗,开个桶就行。很快速地码了。

T2#

2:45~3:45 每辆车超速的路段是一段连续的区间,可以计算出来,然后问题就变成了:有若干条线段和若干单点,从中选出尽量少的单点,使得覆盖的线段尽量多。这不是代码源原题弱化版吗。把区间按左端点从大到小排序之后,双指针搞一下,如果上一次选出的单点能覆盖当前遍历到的这条线段就不动,否则贪心地选择在这条线段左端点右边的最靠左的单点,判断它是否能覆盖这条线段,如果能,更新答案,并将这个单点标记为使用。

3:45~5:00 写完之后发现最后一组样例没过,开始调。手玩了很久都没想到 hack,这贪心太对了呀,于是有点红温了。又开始想是不是线段处理有问题,改了几个版本都不对,更红温了。去上了个厕所,回来之后选择先放过去,去看 T3 和 T4。

T3#

5:00~5:15 把 T3 和 T4 都看了,感觉 T3 的暴力 dp 不是很好写,就写了一个暴搜去看 T4 了。

T4#

5:15~6:20 性质 A 是纯模拟送分,但是没想到这题这么难写,写了一个多点才把性质 A 写过,还只有 16 分。感觉模拟能力有待提升。

赛后#

感觉寄了。T2 假飞,T3 多项式复杂度的 dp 没写,T4 还只拿了 16 分。

回来路上一直在想 T2 假哪里了,一直没想通,和同学对思路发现一样的,只不过同学是按右端点从小到大排序。应该是一样的吧。于是尝试还原了一下代码,并把排序方式改了一下,测大样例,果然还是假了。但是这次第二个小样例就假了。打了一下表,发现是因为:有的线段我就算使用最靠左的那个单点也无法覆盖到,但我仍然移动到了这个单点,产生了不必要的代价,我后面的线段可能可以继续沿用先前的那个单点。在 if 里加了一个判断语句就过了。赛时代码洛谷上有 40 分,希望 CCF 数据也水一点吧。

然后又静下心来去看 T3,发现 n3 的 dp 很好想,即 f(i,j,k) 表示前 i 个里面左边最后一个是 j,右边最后一个是 k,赛时不知道为啥脑抽了没想到。n2 是很套路的状态优化,因为 jk 里面一定有一个是 i,所以可以省掉一维,用 f(i,j) 表示第另一边最后一个是 j 的状态,具体左右不重要。然后把这个朴素 dp 写出来之后会发现,转移有两种:一种是前缀加,另一种是前缀取 max,再加上结尾相同数的贡献。我们考虑用 now 统计当前做的所有前缀加的总和,sumi 表示对 0i1 的前缀加总和,这样就可以 O(1) 转移了。至于对结尾相同数的贡献,由于值域只有 106,对每种数记录最大值就行了。连想带码只用了一个点出头。

感觉这把又寄 T2 上了。又上头了。哎,咋又寄了呢。T3 赛后看真是一眼题,赛时咋就没想到呢,感觉但凡想一下多项式 DP 顺着就优化出来了。

有一种越集训越唐了的感觉。

哎,又要说那句话了吗。

“不要气馁,打上 ‘我一定能 AK NOIP’ 的思想钢印。”

再多打点模拟赛吧。晚安。

?”

posted @   Sorato  阅读(55)  评论(2编辑  收藏  举报
相关博文:
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
点击右上角即可分享
微信分享提示
目录