[10.17]CSP模拟赛

本场比赛中小 L 的 std 挂了样例,所以他需要唱歌~

俗话说暴力要打满,但是暴力把数据范围打多了就一点不好了。

赛前

发现可以提前看题,但是昏昏欲睡的我决定先去睡觉。

赛时

睡醒了,开题。

看到 T1,一眼发现一种病毒要不把它所在的矩形全部删除,要不就不用管,所以很自然地想到预处理出每种颜色所在矩形的边界点。

处理完以后由于颜色种类数 c 很小,而且答案的边界一定是某两种颜色的边界,所以不难想到 c2 枚举任意一对病毒,让它们的纵坐标值作为边界,考虑这一段矩形的贡献。

首先可以暴力枚举所有满足条件的区域,对它们全都遍历一遍颜色,统计答案,复杂度 c3×n,显然不可做。

把这档的分打好,然后考虑把颜色分别按照左右端点排序,这样保证了选择的单调性,于是乎我们可以用双指针来搞这件事情。

算了下复杂度 O(2c3)=2.5×108,根据机房评测姬 108/s 的归宿和 2s 的时限以及胡乱想到的一堆优化,我断定复杂度正确,光速开写。

写完以后样例一遍过,优势在我。

过了一会小 L 宣布大样例 3 是错的,我慌了,为什么我的输出和错误的大样例一样???调了半天发现我的一个 > 写成了 >=,改完以后得到了正确的输出。

意识到此时时间已经过去了 2h,优势不在我了。

开 T2,一眼二分,但是我根本不会 check

弃了,先写暴力,写完以后发现本地 RE 了。从这里开始我即将浪费大量时间来找一个空地址的错误。

好像调了 1h 把,心态已经彻底崩了,赛后想了想当时直接去想二分+状压的话也该想出来了,这场考试到这里就已经废了。

调完以后 T3 不会写暴力,时间紧迫,开 T4。

k=2,n=5000 的暴力很好写,写完以后发现已经没有时间了,剩下的一车部分分看都没看,直接拐回去卡 T1 的常了。因为要是 T1 挂了的话我说不定就爆蛋了。

一直到比赛结束。

赛后

最担心的事情发生了,T1 挂了,原因就是前文所说。

倒数了,T2 写了 1h 的暴力还挂了 5pts。

T1 删了一行以后直接 93pts。

说到底还是要注意计算每种算法的复杂度并精准分配数据点,不能分配错误,否则会挂一些本来能过的点。

posted @   Redamancy_Lydic  阅读(9)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示