专栏文章

题解:CF1610E AmShZ and G.O.A.T.

CF1610E题解参与者 1已保存评论 1

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
1 条
当前快照
1 份
快照标识符
@mindp54s
此快照首次捕获于
2025/12/02 00:43
3 个月前
此快照最后确认于
2025/12/02 00:43
3 个月前
查看原文

Solution\tt{Solution}

最少删除元素个数转化为最多保留元素个数。考虑不合法序列的性质。发现严格大于平均数的元素个数与严格小于平均数元素个数的关系可以与该序列中点位置的数联系在一起,显然的,对于 {ck}\{c_k\},该序列是不合法的,则有 ck2>cikc_{\left \lceil \frac{k}{2} \right \rceil} > \frac{\sum c_i}{k}
考虑更简化的情况,对于 k=1,2k = 1,2 的情况,序列一定是好的。对于 k=3k = 3,据上式可得 2c2>c1+c32 \cdot c_2 > c_1 + c_3 等价于该序列是坏的。此处存在一个结论:一个序列是好的,充要条件是不存在长度为 33 的子序列是不合法的。首先考虑对于一个不合法的序列,若其不存在长度为 33 的不合法子序列,则 i,ci+cki+12ck2\forall i,c_i + c_{k - i + 1} \ge 2 \cdot c_{\left \lceil \frac{k}{2} \right \rceil},对其求和有 i=1kci+cki+1ck22k\sum\limits_{i = 1}^{k} c_i + c_{k - i + 1} \ge c_{\left \lceil \frac{k}{2} \right \rceil} \cdot 2k,化简式子得到 ck2cikc_{\left \lceil \frac{k}{2} \right \rceil} \le \frac{\sum c_i}{k},因为该序列是不合法的,所以应有 ck2>cikc_{\left \lceil \frac{k}{2} \right \rceil} > \frac{\sum c_i}{k},矛盾。
得证一个不合法的序列一定存在长度为 33 的不合法子序列,故一个坏的序列一定存在长度为 33 的不合法子序列,反之若不存在长度为 33 的不合法子序列,该序列一定不是坏的,即是好的。充要性得证。
所以判断当前序列是否是好的,只需要检查是否存在长度为 33 的子序列不合法即可。贪心地去考虑,每次钦定最终序列的最小值 mnmn,将原序列最大值加入,令其为 pp,此时只需要找到最大的 mncimn+p2mn \le c_i \le \frac{mn + p}{2},则可以将 cic_i 加入,并令 p=cip = c_i,重复该二分过程,这样构造出的答案一定不劣。
时间复杂度 O(nlogVlogn)\mathcal{O}(n \log V \log n),因为每次加入 cic_i 更新后 pp 至少减半,存在一只 logV\log V

评论

1 条评论,欢迎与作者交流。

正在加载评论...