Loading

冻鱼

https://xinyoudui.com/ac/contest/74500D282000A6307D6541/problem/43709

话说这是人类能够写出来的题面吗?

首先把中间的连续非零段剥出来。

发现从 \(s \to t\) 的路径结构为,从 \(s \to 1 \to n \to t\),对于 \(1, n\) 这两个路径端点需要特殊考虑,将这一部分先减掉。发现剩余的部分一定形如若干个重复的环,由于这道题目是基于点的,所以这些环一定可以被一些一元环给拼成,考虑到一元环的本质是将相邻两个数减 \(1\)。不难发现此时可以贪心的匹配个数,则结论变为:对于每个前缀 \([1, i]\),满足 \(s_i - t_i \ge 0\),其中 \(s_i\) 表示奇偶性与 \(i\) 相同的前面的数的和,\(t\) 则表示前面其它的数的和。

发现一下这个形式在于,每次会给一个前缀后缀带来常数的影响,这带来的直观影响是每个位置的 \(s_i - t_i\) 会变化,但是由于紧凑性,大多影响都可以被抵消掉,我们可以声明此时偏移量 \(|\Delta| \le 2\),考虑设计一个 DP 是,\(f_{i, 0/1/2, 0/1/2}\),前 \(i\) 个位置,目前处于哪一段(前面,中间,后面),且此时带来的偏移量是多少的方案数,转移就好了。

当然有更为简单的做法,你还可以发现有一个性质是:对于合法的 \((s, t)\),固定 \(s\),则 \(t\) 一定为奇偶性相同的一段后缀,这也是我考场的 \(O(n^2 \log n)\) 做法。

posted @ 2026-01-22 17:31  Alexande  阅读(2)  评论(0)    收藏  举报