CF1923C题解 发表于 2024-03-01 更新于 2024-11-11 分类于 Solution 瞪眼出结论题 结论 先考虑只有一次询问的情况。 我们要构造一个序列 bbb。 如果 cic_ici 是 111,那么 bib_ibi 取 222。 否则,bib_ibi 取 111。 这样就能做到 Σb\Sigma bΣb 尽量小。 如果 Σb≤Σc\Sigma b \le \Sigma cΣb≤Σc,那么肯定是可以通过一些骚操作满足条件的。否则再怎么样也不行,毕竟 Σb\Sigma bΣb 已经尽量小了。 这样我们就胡出了一个 Θ(n)\Theta(n)Θ(n) 的算法。 实现 为了实现多次询问,要用前缀和优化。 代码很简单的啦。 不过不知道为什么,有人不开 long long 被 Hack,我不开 long long 却是没过 pretest。