CSP-S2025游记
第二次参加 CSP-S。
初赛
单项选择。咦这个闭散列法,二次探测是什么?我平时写哈希都是对于每个哈希值都开一个链表/vector。下标?是哈希值吗?就先按这个选吧。
阅读程序。完成的很顺利。You have no egg!
完善程序。做到 T2 时,只剩 15 分钟了。想了想 1,2,3 小题(第2小题不太确定),4和5小题乱蒙了一个选项。
最后得到了 89 分。发现单项选择哈希题错了,完善程序2错了 2,4,5 小题。学习了新的哈希方式,阅读了完善程序二解析。
复赛
期待能拿多少分。希望能拿 300 分。
开 T1,快速想出反悔贪心做法。
看看 T2,好像做过 k=2,感觉挺简单。看了一会才发现暴力跑
写完 T1,再看看 T2。发现可以把每一个集合的最小生成树记录下来,每次只要对两个
看看 T3 和 T4。T3 中要把一个字符串变成另一个字符串。考虑找到 lcp#mid1#mid2#lcs,能用 S 替换 T 当且仅当 S 对应的串是 T 对应的串的子串。可以用 AC 自动机求解。再看看 T4。
开始写 T3。剩的时间不多了。我写出一个 AC 自动机。啊啊啊,怎么连样例 1 都过不了?我看了半天,没看出什么问题。我改了半天代码,让代码输出每个节点对应的字符串和 fail 到根的权值和。发现是统计答案时没有对所有前缀的权值和求和,只算了最后一个。赶紧改过来,改完只剩两三分钟了。测了两个小样例,大样例没来得及测。
预估得分:100+100+?+24。
结果
出成绩了。100+80+100+24。
T3 拿了 100 分。很不错。
T2 怎么变成了 80 分?是不是被卡常了?
拿代码一测,原来是 WA。归并的时候只判了一边的边界条件,就以为可以了。
看了看 T3 题解的 Trie 做法。我怎么没想到。
总体还是不错的。和去年相比有很大进步。
明年加油!