CF802O April Fools' Problem (hard) 发表于 2025-02-26 分类于 算法竞赛 , 题 , Codeforces 阅读次数: 题意 : 给定两个长度为 的数列 和 ,并给定 ,要求选出 和 ,满足: ,。 。 最小化 的值。 ,时限 。 看到 ,猜想这是凸的。由于有费用匹配做法,正确性显然,而且斜率也均为整数。 于是考虑 有负数时如何快速求解没有 限制的问题。考虑贪心。 从 到 考虑 ,这样能匹配的 会逐渐变多。 有两种决策: 加入当前的 ,挑一个目前能匹配的最大的 。 用当前的 去替换前面最小的 。 用堆维护即可,复杂度 。