【赛后总结】CSP-S 2023 游记

Day -7~0

考前比较慌,主要是去年 CSP 给我考出心里阴影来了,担心今年拿不到 1=。之前一直在狂打板子,同时被单调队列,感觉 OI 真的一届比一届卷了,初中的各位都能吊打我。

考前最后一场模拟赛 T1 掉大分,原因是边界设的 1e9 但这个只是单点的最大值,显然我的线段树维护的是前缀和。适度掉分有利于 rp 的增加。那天晚上打了一下比赛,T1 过了但实际上 T4 最水是道黄题,但没写出来,++ rp。这是由于 T4 是道大模拟,导致我考试的那天中午睡觉时忽然想到此题,然后就想 CCF 不会出大模拟吧。后来感觉肯定不会(,就放心的睡了。

考前最后一天半是自习,这段时间十分的紧张,一想到马上就要 CSP 就紧张,于是边打板子边颓了一会。心情还是缓解了不少(,坐上去考试的大巴的时候已经没那么紧张了。

Day 1

进考场的时候发现熟悉的人都在 B 区,而我在 A 区。本以为会隔很远,实际上就一道连廊。进考场前收获了 Alexande 妈妈的一盒薄荷糖,++ rp。

连廊的风景还行,风吹着很舒服。

本来是从另一边上楼的,然后忽然发现堵的水泄不通,以为是人太多了,就从 B 区绕了过去准备从另一边进。然后才发现是 A 区还没开(,大家都堵在外面。看到了麓山校队好像,然后一中的看起来特别显眼,都围在旁边聊天。接着见到了 yzy,打了一声招呼。

进考场发现 CCF 不让带卫生纸???安检后看到我位置上的电脑是绿色的屏幕(,感觉屏幕坏了,本来有点担心,然后监考老师看是我坐那直接把我从右下角换到了左上角最靠里面的位置。

键盘打起来很舒服。

先总体看了一遍题,感觉 T1 是看上去神秘实际上水的题,T2 的类型像很多区间 dp 的题,但数据范围不支持,T3 大模拟???啊?真让我猜中了???T4 有点像考前那场模拟赛的 T4,但我没改。

先开了 T1,推了一个很水的式子,然后发现理解错题了(。迅速改变策略,发现暴力就好。这让我很慌,感觉 S 组的题不会这么水的,大样例过了,手造了一下数据发现不会爆 int 什么的。接着发现这其实还是用了一下哈希的思想的,就较为放心地开 T2 去了。此时花了 30min 左右。

T2 一眼可以看出 O(n3) 做法,但 800 好像过不了,比较神秘。开始憋 O(n2) 的做法。想到可以设 dp[i] 表示到 i 为止所有合法子串的数量,f[i] 表示以 i 为结尾的合法子串数量。为了去重还设了一个 nxt[i] 表示它往前面扩展的最小的 x 满足 [x,i] 是合法区间。打了一个多小时发现过不去大样例,很慌。大概从这里开始心态有点崩。

去上了个厕所,顺便洗了把脸冷静了一下。看到外面广场有人在练滑板。心情恢复了一下,准备先不管 T2。由于 2021 年狂敲 T3 大模拟正解,民间 70 官方 30 寄的很离谱,没有别人特殊性质拿的高,所以并不打算写 T3 正解,并尽量晚开,就先打 T4。T4 暴力我的做法要维护一个很恶心的东西,并不觉得以我现在的心态能敲的出来,特殊性质 A 的感觉是个贪心,但感觉要打也很恶性。就打了一个 B 的链的特殊性质,打的也很恶心,打了一个小时左右才过了手造数据。然后就更慌了,这代表我这两个小时可能就拿了 10pts 不到。

吃了点东西平复了一下心情,准备回去看 T2。打算破罐子破摔先把那个 O(n3) 打出来,说不定跑不满能过 n800 的点呢。这个打的很快,打完后改了一小点就过了大样例,稍微没那么慌了。这时候好像知道 O(n2) 哪里错了,打算改一下。对拍了一下发现一个很离谱的数据我的算法过不了,也不知道为什么过不了,就又开始慌了。喝了一口芒果汁恶心了一下自己(,被恶心到了就平静下来了,感觉整个做法都有问题,打算写一下 T3 好写的分再回来看 T2。

感觉 T3 没有结构体的点用一下 map 就能搞定,随便打了打,过了手造样例,心情又稍微好了一点,这时候再回去看 T2。T2 换了一种 O(n2) 新做法,这时候与正确答案输出比较接近了,但就是调不对,十分的慌。想到之前看的一篇游记,主人公打 noip 的时候好像也是这样的慌张,最后手都在抖了,我一看我的手也在抖(,吃了块薄荷糖深呼吸了几下。稍微好点之后看了一下后面随机性质,感觉这样的话相邻几个相等的概率比较小,直接输出的 0。赛后觉得不应该输出 0,但那时候状态属实有点差。

先检查了一波,然后莽 T2 莽到了收卷前 15min。终于打算放弃了,检查了一波 freopen 平时易错的东西。下考前 5min,坐我左斜前方的好像是隔壁机房高二的学长(update:其实好像是学弟)电脑关机了,一直在和监考老师说。然后听到他是用 Linux 虚拟机但是机子忽然关机,虚拟机重启后好像就都没了。希望最后能处理好吧。

考完之后并不想和任何人说话,从我 T2 打了一小时开始没拿一分开始心态就已经开始崩了,后面几个小时手都是抖的,差点没在考场崩溃(。考完后看到 Million 在哭,去安慰她了一下然后猜 Slcloud 出来会不会也是崩溃的。等待的过程中听到后面一团巨佬估分都 300+,又有点崩溃。然后看到了 Slcloud,我问她会不会和我们一起组成失败的 man 联盟,她就上来哭了(。然后她说她和 Biuld 也都没考好。就去安慰了一下她们。

Alexande 妈妈问我要不要和他们一起去吃饭,我感觉考完试后和他们这些巨佬一起吃饭可能会讨论题,然后我就会崩溃(,就拒绝了她的好意。

等车的时候听说 Slcloud 不挂分有 200pts,就去怒斥她假。等了很久车才到,在车上和 Million 玩猜历史事件的游戏。回家直接开颓 game。

可恶的 B 站竟然还给我推 CSP 2023 的东西,我并不想看就直接划走了。

Day 2

用了一晚上好像走出了阴影?(甚至晚上中途醒来想去学 OI?

总结

怎么说,这次考试说没控制好心态的话好像也不至于,说心态好的话也肯定不是。感觉决定因素还是我的实力吧,T2 考场第一遍做法其实和一种正解思路比较像了,这个做法虽在之前写的复杂度说是 O(n2),但实际上是 O(n) 的。之所以我之前说是 O(n2) 是因为有个空间复杂度是 n2 的,我就十分不严谨的说这就是 n2 做法。

虽然我发誓说不自测,但我妈没有(。然后看了一眼估分,T1 还是过了,T2 也不出意外的是 35pts,T3 不出意外的是 15pts,T4 倒是挂没了差不多。

考试时觉得这场考试铁定寄了,但感觉是状态,心态问题。仔细一想,假设我心态特别好,难道还可以拿到更多的分吗?可能也就只能拿到 20+ 的分。所以根本的,还是实力问题。

T2 考了并不擅长的计数类问题,T3 考了考时十分考验码力的大模拟,T4 考了并不擅长的树上问题。这显然是知识点疏漏。我一直都清楚自己不擅长计数类,树上和数学这一块,但是一直都没下定决心去把它攻下来,于是就在这一次考试遭到了报应。

所以说,还是要发现自己弱点然后去直面它。

补题

怎么回事呢?怎么 2024.5.21 才开始补题呢?
怎么回事呢?怎么到了 2024.10.19 才开始补 T3,T4 呢?哦原来我 AFO 了啊,那没事了

[CSP-S 2023] 密码锁

传送门

没意思

[CSP-S 2023] 消消乐

传送门

发现考场思路已经很接近了!!!!!!可恶!!!!!为什么我这么菜!!!!!!

会区间 dp 的做法,就会知道合法字符串 [i,j] 只有两种:si=sj[i+1,j1] 为合法字符串,或者 [i,j] 是由两个字符串拼起来。

后者显然更难统计,因为没有 si=sj 这样的优良性质。然后发现对于同一个断点 k,如果能统计到形如 [i,k] 的合法子串的方案数,会优化一些时间复杂度。

又考虑到是 O(n) 的时间复杂度,因此状态可以比较套路地设出 dpi 表示以 i 结尾的合法字符串个数。通过“若 A 合法且 B 合法的性质”,可以想到只要判断出以 i 结尾的一小段合法的串,就可以统计形如 AB 的合法的串。然后口胡一下后面这段 B 更短是显然不劣的。因此弄出辅助数组 fi 表示最大的满足 [fi,i] 是合法子串的位置。比较容易地得出 dpi=dpfi1+1fi 的转移需要考虑到这个合法子串一定是 sfi=si,我们就从 i1 开始跳其 f 数组的前一位,一直到 snow=si,且这中间的子串也一定是符合条件的。

上述做法最劣是 O(n2),考虑优化。把这个跳来跳去的过程形象一点,就是每次都跳 fi1,不难发现这样跳是一个链的。我们重新回收一下数组,定义 fi 表示 i 所在的链的链头,headi,j 表示以 i 开头的链中最后一个字符为 j 的位置。注意初始化 fi=i 表示 [i+1,i] 这一段是合法的(也就是没有合法子串),直接转移即可。

[CSP-S 2023] 种树

传送门

现在看来其实不是很难,思路很自然。

考虑二分最后的天数 k。由于已经知道 k 了,那么可以二分出每个地块最晚要在 lasi 天种下树才能满足条件。dpi 表示最晚要在哪一天遍历到 i 的子树内才能让 i 子树内所有点都满足条件,转移方程式有 dpi=min(mindpv1,lasi)。然后再 bfs 一遍,每次在可以扩展的点中找到 dpi 最小的那个点扩展,这个显然可以用优先队列做。最后看每个点是不是都满足 dayilasi。时间复杂度应该是 O(nlog2n) 的。第一次交的时候没注意常数和精度,挂了两个点,拿到了显然一眼假的贪心能拿到的分(,如果是考场上估计也只能拿到这么多分了吧……

posted @   Cloote  阅读(91)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示