[arc223f] Zonal Score Maximization

arc223f

直接做做不了,所以这个划分肯定有性质。


Hint 1

首先注意到,划分方案不会有长度 \(\geq 4\) 的段。因为可以把这样的段断成两段,权值会更大。

因此,每一段长度都是 \(2\)\(3\)


Hint 2

注意到,答案权值几乎可以取到 \(1\)\(n\) 的和。

因为 \(P\) 是排列,并且每段长度 \(\geq 2\),所以每个数至多被计算一次。

  • \(n\) 是偶数

将整个序列全都划分成 \(2\),就取到了 \(1\)\(n\) 的和,这是答案上界。

因此 \(n\) 为偶数时,必然有 \(f(A) = \frac{n(n+1)}{2}\)。所以,\(n\) 为偶数的问题是平凡的。

  • \(n\) 是奇数

发现最优的划分,一定只存在一个长度为 \(3\) 的段,且别的段长度都是 \(2\)

此时的权值是 \(f(A) = \frac{n(n+1)}{2} - x\),其中 \(x\) 是长度为 \(3\) 的那段的中位数。

由于题目中,\(f(A) = X\) 已经给定,因此 \(x = \frac{n(n+1)}{2} - X\),我们只需要统计有多少种排列,满足最优的中位数为 \(x\)


Hint 3

最优中位数 \(=x\) 不好算,但是 \(\geq x\) 好算。

设最优中位数 \(\geq x\) 的方案数为 \(g(x)\)

\(g(x)\) 相当于,把 \(1 \sim x\) 的所有数填进去,设这些点是黑点,则不能存在某个 \(2i,2i+1,2i+2\) 中有超过 \(2\) 个黑点。

答案是 \(g(x)-g(x+1)\)


Hint 4

考虑把不能同时为黑色的点对连边。

大概长这样:

qw

并且,有一些点已经固定黑色,有一些点已经固定白色,还有一些自由染色。然后需要数大小为 \(x\) 的独立集个数。

可以尝试从左往右 \(dp\)

先把第一个点单独考虑,后面的点两个两个地考虑。

\(f_{i,k,0/1}\) 表示考虑完了前 \(i\) 对点,选了 \(k\) 个点,最右边的点是黑还是白。

直接转移就可以做到 \(O(n^2)\)


Hint 5

把上面的 \(f_{i,k,0/1}\) 看成关于 \(k\) 的多项式 \(F_0^{(i)}(x),F_1^{(i)}(x)\)

分治 NTT 优化转移即可 \(O(n \log^2 n)\)

posted @ 2026-06-29 10:15  _Bonely_Muffin  阅读(18)  评论(0)    收藏  举报