2026/09/11 赛后总结
解题报告分析 7
总结遇到的问题与题目中一些神奇的思维点。
\(^{*}\):不知道的 trick 或方法
Write Date:9/1/2026
T1 Rotate
首先需要计算出每个人和目标的循环差量,然后考虑到贪心的思考,希望一次操作能够尽可能多的影响点,于是不妨对差量求一遍差分得到一个单独的需要再新增的目标值。考虑到增量无非就是 \(0\sim 3\),于是不妨开一个桶记录每种增量需要的数量。维护一个每个位置由前面推过来的增加量数组 \(\text{add[]}\),然后再计算当前位置是否还需要,若还需要可以考虑和之前的某个也还需要对增量一起增加了,增加后更新向后推进的影响。
cjh 说差分很难想到,但是感觉这种需要连成整段、中间还涉及单独增加的,就能较自然的想到差分吧。
T2 Pi
神秘题目,描述跟依托一样,半天读不懂。赛后一看题解,什么群论经典套路,CR 还狡辩说“不需要群论,别看那个人瞎说,他绝对不懂群论”,好嘛,一看其他题解,剩余系,行 👍
不难发现小 R 被 \(i\) 号老师抓到的时间可以用一个同余式表示,另 \(t=\sum_{j=2}^{i}a_j \mod T\):
考虑如何统计答案,即对每个人记录他们的剩余系。
考虑将余数放到一张图上\(^{*}\),将每一个余数 \(x\) 看作一个点,向 \((S+x)\mod T\) 连边,那么这张图具备如下特征(由剩余系理论得到):
- 由 \(\gcd (S,T)\) 个大小为 \(\frac{T}{\gcd (S,T)}\) 的环组成;
- 每个环内的数都 \(p\) 都在 \(\mod \gcd(S,T)\) 意义下同余。
考虑答案在环上的情况,若有多个人在同一个环上:
- 有多个人 \(t\) 相等,那么只有第一个有答案;
- 每个人的答案为他沿着环走到下一个人的距离。
考虑如何求出这个距离,可以找一个环上的点 \(p,0\le p < \gcd (S,T)\),以其为起点进行编号,可以得到距离即编号之差,而对于任意的某个环上的余数 \(x\),其在环上的编号为
的最小自然数解,使用 Exgcd 求解。
参考题解: CF819D 题解,CF 官解
后记:本题赛上题读错了,算成每个地方从单独自己那里开始,搞错了那个同余式。。。
关于剩余系可以参考的文章:【初等数论】 03 - 同余和剩余系
T3 Count
赛上 T1 做了半个多小时无果,遂直奔 T3,浅浅思考了十分钟左右,觉得是个什么二维偏序,理由是若设 \(p[i]\) 为 \(i\) 在排列中的位置,那么离散图像拟合后应该是至多两端单增的图像,像啊,很像,像二维偏序,斜率单调性可以用差分判断,于是最终可以把这个东西化为一个最小值数量判断的问题。然后就没什么想法了。当然,肯定是有个什么组合在里面的,或许和生成函数有关系。。。
- 经 DS 对以上思路分析,得到:两段递增是对的,但这不是二维偏序;应枚举分割点k,检查已知值递增,用组合数算各-1段方案并去重。
经过对题解进行一番观察以及对题目难度的观察(\(\text{NOI/NOI+/CTSC}\)),目前或许还是先放弃补这道题。
T4 Mystical
这道题由于没有给大样例,盲猜是什么神秘找规律题,于是手摸一下……然后就因为搞忘题目限制手摸错了。
通过手摸一些样例,不难发现:对于 \(i\ge 2\) 的行,第 \(i\) 行总是与第 \(i+2\) 行相同,即所有的 \(2k\) 行相同且 \(2k+1\) 行相同。那么原问题就得到了简化,只需要维护第 1,2,3 行即可,暴力复杂度 \(O(NK)\)。
考虑优化,第二行记录的是一个值的前缀出现次数,由此可以知道第三行应该是前缀出现次数的出现次数,所以我们需要动态维护两个分别统计以上内容的桶,可以考虑使用待修莫队。具体的,将修改时间和右端点 \(y\) 分别看做两个维度,就变成了一个二维平面上的问题,最终得到的三维是 (时间,时间,右端点),可以通过时间维度的移动来应用/撤销修改操作,更改桶信息,然后就是比较常规的操作了……吗?还有无数的细节。

浙公网安备 33010602011771号