【MX-S3】梦熊周赛 · 提高组 3 & FeOI Round 1
野心
题意:
给定长度为 \(n < 2 \times 10^6\) 的排列 \(a\)。
求有多少个 \(i < n\) 满足 \([1, i]\) 和 \([i + 1, n]\) 排序后都是等差数列。
我们发现不存在合法的 \(i \in [3, n - 2]\) 使得 \([1, i]\) 的公差 \(d \ge 3\)。
假设 \([1, i]\) 构成 \(1, 1 + d, 1 + 2d \cdots\) 的等差序列。
后缀元素在前缀元素之间的差值为 \(1\),跨过前缀元素的差值为 \(2\),一定不合法。
需要考虑的合法情况只有:
- \([1, i]\) 中元素恰为值域上的一个前缀或后缀。
- 公差为 \(2\)。
如果 \(i = 2\) 或 \(i = n - 1\),构成 \([1, n][2, n - 1]\) 也是合法的。
Journey
题意:
\(\text{range}(a, b, c)\) 表示序列
其中 \(k\) 是满足 \(a + kc < b\) 的最大非负整数。
给定大小为 \(n \le 2 \times 10^7\) 的数组 \(g\),求
数据范围暗示很明显了,只放过线性做法。
每个 \(g_i\) 会被 \(a + kc = i\) 且 \(b > i\) 的三元组贡献到。
设 \(f(i)\) 表示 \(a + kc = i\) 的 \((a, c)\) 对数
因此只要把 \(d(i)\) 筛出来然后做一遍前缀和即可。
最后再乘上 \(b\) 的 \(n - i + 1\) 种取值。
再演
初始集合只要记录操作然后从当前集合回退即可。
定义上数为一对数中较大的,同理定义下数。
返回的 \(p\) 是所有上数中最小的。
\(p\) 与 \(1\) 交换,\(1\) 与原来 \(p\) 的下数 \(q\) 组成 \((1, q)\)。
由于 \(p\) 已经是上数中最小的了,\(q\) 比 \(p\) 还小,因此一定有 \(res = q\),我们称该操作将 \(q\) 暴露出来。
\(q\) 与 \(2n\) 交换,得到 \((1, 2n)\)。
无论如何 \(2n\) 不会作为返回值,因此可以把 \((1, 2n)\) 删掉,递归到一个值域为 \([2, 2n - 1]\) 的子问题。
边界情况是只有一个数对 \((n, n + 1)\),不用询问,直接返回。
这样总询问数等于 \(2n - 2\),比 \(2n - 3\) 的限制多了一次。
考虑值域为 \([n - 1, n + 2]\) 的情况,res 一定是 \(n\) 和 \(n + 1\) 之一,我们的目的是将 \((n, n + 1)\) 凑对,因此无需 \(2\) 次操作,只需一次交换。
具体分讨见代码。submission
醒餞の鳥 (feat. Feryquitous)
枚举性质 \(k\),如果 \(i, j\) 满足 \(a_{i, k} > a_{i, k}\),那么 \(k\) 分配的系数 \(X\) 必须保证 \(i, j\) 最坏也只能排名相同(不能 \(j\) 在 \(i\) 前面)。
贪心的把 \(1 - X\) 分配给与 \(k\) 不同且 \(a_{j, l} - a_{i,l}\) 最大的性质 \(l\),则
-
\(O(nm^2)\)
将所有人按照性质 \(k\) 排序,\(a_{i, k}\) 相同的 \(i\) 划分到类 \(\{a_{i, k}\}\)。
如果 \(\{s_1\}, \{s_2\}, \{s_3\}\) 是按序排好的三类人。
使 \(\{s_3\} > \{s_2\}\) 的系数为 \(X_3\),使 \(\{s_2\} > \{s_1\}\) 的系数为 \(X_2\)。
由于不等号的传递性,我们不再需要考虑 \(\{s_1\},\{s_3\}\),需要考虑的偏序对数降到 \(O(n)\)。
考虑相邻的两类人 \(j, i\),现在要最大化 \(X\):
\[X \ge \dfrac{1}{1 + \dfrac{a_{i, k} - a_{j, k}}{\max a_{j, l} - \min a_{i,l}}} \] -
\(O(n^2m)\)
考虑枚举 \(i, j, k\),\(l\) 为等于 \(k\) 且满足 \(a_{j, l} - a_{i, l}\) 最大。
预处理每对 \(i, j\) 最大和次大 \(a_{j, l} - a_{i, l}\) 对应的编号。(\(k\) 为最大值时用最大值转移)
这样预处理和转移都是 \(O(n^2m)\) 的。
最后根据数据分治一下,\(m < n\) 用算法1,否则用算法2,可以做到 \(O(nm\sqrt {nm})\)。

浙公网安备 33010602011771号