1 条题解
-
0
自动搬运
来自洛谷,原作者为

McIron233
喵喵?搬运于
2025-08-24 22:56:48,当前版本为作者最后更新于2024-02-28 19:48:34,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
数据人题解。
考虑到 的顺序并不影响答案的相对位置,因此对 从小到大排序。
从题目的第二个条件入手:
$\dfrac{\sum\limits_{i=1}^n (a_i \cdot b_i)}{\sum\limits_{i=1}^n b_i}$ 为整数,即 的权为 时,序列 的加权平均数为整数。
设这个加权平均数为 ,那么有:
$$\begin{aligned} &\ \frac{\sum\limits_{i=1}^n (a_i \cdot b_i)}{ \sum\limits_{i=1}^n b_i}=\lambda \\ &\ \sum\limits_{i=1}^n (a_i \cdot b_i)=\lambda \sum\limits_{i=1}^n b_i \\ &\ \sum\limits_{i=1}^n (a_i \cdot b_i)=\sum\limits_{i=1}^n (\lambda b_i) \\ &\ \sum\limits_{i=1}^n (a_i \cdot b_i)-\sum\limits_{i=1}^n (\lambda b_i)=0 \\ &\ \sum\limits_{i=1}^n [b_i (a_i - \lambda)]=0 \end{aligned} $$因此当 确定,整个序列 就确定,相应的 也就有比较简单的构造方案了,问题转化成找到一个合适的 。显然,当 离 中位数越近,序列 越好构造。
考虑直接取中位数,那么我们需要根据 的奇偶性分类讨论:
是奇数
那么直接取 ,然后得到序列 。显然, 是单调递增的,且前 个元素都是负数,后 个元素都是正数。所以我们可以在 时直接取 ;在 时,直接取 。
证明:第二个条件已由刚才的构造得到满足。
对于第一个条件“序列 中的每个元素均为不大于 的正整数”,容易发现 且 ,那么第一个条件也就能进而成立。
对于第三个条件“不存在有序三元整数组 ,满足 且 ”,我们发现由于 是互不相同的,因此 中绝对值相等的数也最多只有 个,不会达到 个,此外,,所以 中没有绝对值为 的元素。故第三个条件同样满足。
举一个构造例子。当 , 来说,,得到 ,对应有:,其余元素同理,且 ,于是 。
是偶数
这时候需要进行简单转化。容易发现当序列 中间两个数不连续时直接取 满足 ,然后类比 是奇数的方法来构造即可,不同点是不需要确定 的值。
如果中间两个元素连续,考虑取 是中间两个元素中的一个,接下来使用如下的构造方法。
构造方法
这里取 ,那么得到的序列 中负数元素数量比正数元素数量少 个。考虑合并两个正数元素。容易发现此时 ,因此将 与 合并,具体方式是:,然后与 是奇数的相似方法(有不同点)构造,再 就完成了。
显然,在这种情况下 时是无解的,证明可以从另一个角度——分离常数法来解释。
不同点:由于第三个条件“不存在有序三元整数组 ,满足 且 ”,我们为合并后的 配对时,需要在 中寻找一个合适的 满足 。所以有可能出现找不到这样的 的情况,那么取 时就不可行了,换用 ,然后类比该构造方法。可以证明两个 中至少有一个是可行的。
关于两个 至少一者可行的证明
这里给出两个 取值时得到的 序列:
取值/下标 注: 互不相同。
根据 的单调递增性,两个 都不合法的必要条件是:
$$\begin{cases} x_1+1+x_n=0 \\ x_1-1-1+x_n-1=0 \end{cases} $$而这个方程组没有解。所以两个 中至少有一者合法。
构造时间复杂度
单组测试数据的时间复杂度是 ,瓶颈在排序。
- 1
信息
- ID
- 9479
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 6
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者