CSP-S 2023 游记

发布时间 2023-10-22 13:28:46作者: alloverzyt

CSP-S 2023 游记

Day1

上午

早上起来洗完漱,逛了一会淘宝便打开电脑,看了看谷群,结果 J 组的题已经出来了???这变成同步赛了吗?但群里没有人发(看来大家都遵纪守法),我顺着源头找到洛谷团队并成功收到了题和密码,看样子应该是有考场没关网(听说那个考场有人玩原神???)

随即简单看了一下 J 组的题目,前两道应该是轻松 AK,后面没看,但拿点暴力一等应该还是没有问题,并且和朋友互通了一下题目。

发现曾老师考前发的对拍 PDF 我竟然没拷进U盘,于是在网上学习了一下如何对拍。还复习了一下我算法鼠标垫上的算法模版,但一个没用上。

然后下去打乒乒球放松身心了,吃完饭睡了40分钟。

下午

到考场(教室是K202电化教育室,翻译一下是快速电击化疗教育室)发现 DzhearMins ,zrj,cbh和我在一个考场,张贝和芷陌甚至挨着坐(佩服CCF的蛇形排座位)。

T1

第一眼看到我感觉我做过???分析了一下,试图找规律,发现很复杂,一个不同的很好找,但是发现有些既可以滚一个,又可以同时滚两个时顿时感觉思路不明显。既然推答案不行,那就枚举答案吧,一共五位,每位10个数字,所以一共是 \(O(10^5 \times 5 \times n)\)\(n \le 8\) 所以无语了,开始写了五重循环枚举,感觉我是神经病,改成 DFS 了。样例调了一下,轻松 AK,大概耗时 50min。(听说 hyb 函数没有返回值爆 0 了,不知是何感想)

T2

最伤心的一道题了,听说是 CF 原题???还是紫题???第一眼还是感觉做过???

开始不知道怎么想的,认为只要子串内的字母可以两两匹配就可以全部消掉,然后开了一个 mp,用二进制优化,26位二进制,每位表示字母是奇数个还是偶数个,用 \(O(n^2)\) 判断所有子串,关键是前两个点过了!!?? (CCF好样例),错误就从这里开始我开始优化,想出来一个用字典树优化的 \(O(26n)\) 的做法,每次将当前状态在字典树内查询,期望找到和当前状态相同的前置状态,这一定是一个合法状态,打了一个小时,调对了,然后一测大样例发现我的答案一直偏大,尽管我非常不愿意承认但还是得承认我的方法是完全错误的。因为必须相邻的两个才能消掉,这时还剩一个半小时,不忍心放弃第二题,然后想出来一个线性做法,用栈维护,加同级连通块打标记的做法,一个小时后调出来,但是第二个样例我的答案比标答少了1000多,直至比赛结束我还是无法理解。

然后赛后晚上吃饭时持续思考,终于把我的方法证伪了,即 aadaadaa 中,我会认为 aa (中间的)为一级区块,然后 aa daad aa 同为二级区块然后统计答案,但是没有考虑过 adaada 也是合法区块,即前两个 a 匹配成功后不会参与后面的匹配,后来想了一下,匹配成功就消掉前一个,保留后一个继续跟后面匹配,这样应该能 A。

T3

不出所料,是大模拟,虽然考前专门了解了结构体的内存对齐原则,虽然感觉用 map 可做,但是因为没时间放弃了,听说有人做了2个半小时爆零(;

T4

看了看题感觉贪心可做,但是已经没有做的机会了,悲。

洛谷自测 100+10=110,就看CCF第二题的神奇数据了吧。

悲,NOIP有缘再见!