CWOI 5.21 模拟赛题解
A 三重移位
先判掉 \(A\) 中有 \(B\) 没有的元素的情况。
先假定 \(A,B\) 中的元素两两不同,我们对 \(A _ i,A _ {i + 1},A _ {i + 2}\) 的大小的各种情况分类讨论,发现只有 \(-2,0,2\),不会改变逆序对个数的奇偶性,所以答案就是 \(A\) 的逆序对个数是否等于 \(B\) 的逆序对个数。
再来看有重复元素的,由上面可知 \(A\) 最后只有两种可能,\(B _ 1,B _ 2, \ldots , B _ n\) 或者 \(B _ 2,B _ 1,\ldots, B _ n\),可以证明都可以转化为 \(B\),所以一定成立。
B 最小差分和
逆天贪心。
我们考虑先去掉绝对值,就是把 \(a\) 排序一下。然后我们考虑每一项的贡献,则贡献为 \(\sum _ {i = 1} ^ {\frac{n}{2}} (n - 2i + 1)(a _ {n - i + 1} - a _ i)\)
然后我们贪心,大的值要尽量大,小的要尽量小,所以对 \(l\) 升序,\(r\) 降序排序统计贡献就行了。
C 前缀与后缀
DP,为什么是 DP 呢?因为贪心是假的 /
我们设 \(dp _ {i,l,r}\) 表示考虑第 \(i\) 个询问,剩下的区间是 \([l,r]\) 可不可行。
很明显这是 \(\Omicron(n ^ 3)\) 的,并且什么优化都没用,所以我们重新定义一个。我们把 \(r\) 放进 DP 值里面,则 \(dp _ {i,l}\) 表示考虑第 \(i\) 个询问,左端点在 \(l\) 的最远右端点,如果 \(r \lt l\) 则不合法。
转移我们分类讨论:
- 用前缀:需要保证 \(\min _ {k = j - d} ^ {j - 1} a _ k \ge s _ i\),然后就可以从 \(\max _ {k = 1} ^ {j - d} dp _ {i - 1,k}\) 转移过来,可以记个前缀最大值来优化。
- 用后缀:我们找到 \(k\) 左侧第一个满足 \(\min _ {k = w + 1} ^ {w + d} a _ k \ge s _ i \wedge w + d \le k\) 的 \(w\),记录最大值辅助就可以做到 \(\Omicron(1)\) 转移
D 贪吃蛇
贪心,黑的。

浙公网安备 33010602011771号