CF2102 题解

A. Dinner Time

注意到 \(n\) 不是 \(p\) 的倍数时一定有解。否则和就是固定的,直接判一下即可。

B. The Picky Cat

直接对于是否取反 \(a_1\) 进行分类讨论。每种情况下暴力把取反能造成贡献的取反,然后判断 \(a_1\) 是否能成为中位数即可。

C. Mex in the Grid

注意到直接蛇形填充就是对的,

D. Quartet Swapping

首先观察几个性质:

  • 奇数位置上的数不可能跑到偶数位置上,反之亦然。

  • 逆序对的奇偶性不会因操作而变化。

显然我们将奇数位置和偶数位置上的数分别排序是最优的答案。但是可能不满足性质 \(2\)。如果不满足我们直接交换 \(a_{n-2}\)\(a_n\) 即可。

E. 23 Kingdom

考虑拆贡献。我们记一个数第一次出现为 \(L\),最后一次出现为 \(R\)。现在一个位置 \(p\) 贡献的次数就是左边的 \(L\) 数量和右边的 \(R\) 数量的较小值。

不难发现一定有一种构造方式能达到这个上界,于是我们只需做一个最大化 \(L,R\) 数量的问题。于是我们只需对每个位置填未出现的最大值,然后求填了多少数。这个东西用二分和数据结构是容易做到 \(2\log\) 的。

F. Mani and Segments

考虑转化这个条件:相当于 LIS 和 LDS 的并集是整个区间,交集在一个点上。

我们可以在这个点时计算这个区间的贡献。

然后就注意到这个点左右数的一些要求,现在问题是怎么找到最远的左右端点。考虑直接使用单调栈维护 LIS 和 LDS,然后正反找一遍就行。

最后贡献是矩形面积并,但是因为这里的矩形的良好性质,不需要扫描线就可以直接算。

posted @ 2025-05-21 17:40  zxh923  阅读(47)  评论(0)    收藏  举报