CSP 2025
CSP 2025 总结
今年只参加了
总的来说还是决策失误。
最近
显然这场比赛的几个部分分基本上都比较好想,但是不太好写,
考场上完全不在状态,出了考场才发现自己竟然调了
于是就获得了一个极低的总分上限:
T1 \color{#52C41A}\text{club}
我要知道这题是
还是非常老实的先敲了三进制枚举的无脑暴力,大概就用了
然后先去看了特殊性质
接着是特殊性质
似乎没有什么特殊性质可以思考的了,于是尝试从数据范围中找突破口。
直接考虑 dp,其实我原本还想写记搜拿来拍的来着
令
填表也能写,但是保险起见还是写了刷表,
转移方程
时空复杂度均为
这样前前后后加起来就有
其实此时我想到了两种优化的思路,可能成为正解:
-
一般化特殊性质
B 的代码,将所有人先钦定分进部门1 ,然后将所有人转移到部门2 和部门3 的代价较小值记录下来排个序,取前\cfrac n2 小或者将所有代价为负的人转移走即可。 -
贪心,将每个人归进各自满意度最大的部门,最后最多只有一个部门超过
\cfrac n2 人,然后把该部门中每个人转移走的最小代价排个序从小到大取即可。
此时有一点非常关键,那就是将这些多余的人转移走后,不可能造成另一个部门人数超过
\cfrac n2 。However $ 考场上没想到,还以为做法假了,就没写 $ \cdots
显然两种方法都已经非常接近正解了,但是还是决策上的问题,最后正解没有交上去。。
实际得分:
T2 \color{#3498DB}\text{road}
这题题目有点绕,一开始还把乡村和城市的两个概念看错了,不过好在读了
先考虑无脑暴力,对
然后
考场上调这个暴力调了将近
但这种情况理论上会在统计答案时被松弛掉,不知道哪里写挂了
总之最后这题的暴力也是无疾而终,不知道能不能水到
时间复杂度是
然后把目光投向特殊性质 反正城市化不要钱。
这样的复杂度是
其实看到这个
也许是我太蒻了,有没有 dl 用这个方法过的)
考场上就写了这么多,估计也就
实际上只拿了
T3 \color{#9D3DCF}\text{replace}
考场上先是写了一个用 string 暴力匹配的
这直接导致了后来只写了个哈希的优化,最后还写挂了)
然而前面的暴力过于暴力,大常数被卡到只过了前两个点,于是最后只拿了
正解其实是一个比较经典的 trick:把所有的
每一组对应的字符之间用特殊字符
赛前看了一路的 AC 自动机结果没想到。。
T4 \color{#9D3DCF}\text{employ}
考场上一心写暴力,最后的时间只来得及写个全排列,所以只拿了
考完一出来就听到有 dalao 说最后一题是很水的容斥,直接当场裂开(
车上看到 zzk 在直播间里说这道题很可能是 ABC 或者 ARC 的原题,后来也在讨论区里翻到了,是
已经不再对省一抱有不切实际的幻想。。
后来补题一直到两个多星期以后才补完,还特地为此写了一篇题解,不过没推上去。
Summary
今年的前两题可以算是贪心和基础算法掌握不熟练,这一点只能多刷题。
后两题的话其实用暴力数据结构也能做,但是如果写到过这些 trick 会更顺一些。
总的来说还是三点:
- [ ] 多刷基础算法和数据结构
- [ ] 多打 AtCoder 和 CF 训练思维的同时增加 trick 知识面(VP 也行
- [ ] 对于紫黑题可以训练暴力和部分分的代码能力