摘要:
首先需要注意到一个性质,如果两个序列的最长公共子序列不是一个回文串,一定可以左右扩展成一个回文串,原因显然(但其实并不容易观察到这一性质)。 然后区间 DP 简单求一下区间更改之后的最长回文串即可。 阅读全文
posted @ 2025-09-25 20:26
Alexande
阅读(5)
评论(0)
推荐(0)
摘要:
考虑到可操作的两个球连边,同一个连通块一定能任意交换,方案数是好算的,现在我们需要优化这个建边的过程。 首先,对于同色球,先只考虑最小值和其他球连边,这样一定最优,然后,对于异色球,我们选最小值,非最小值颜色的球一定向其连边不会更劣,对于最小值颜色的球,我们向其他颜色的最小值连边即可,不难发现正确性 阅读全文
posted @ 2025-09-25 19:48
Alexande
阅读(7)
评论(0)
推荐(0)
摘要:
直接被这个题闪到了。 首先发现 \(1\) 是最小的,其有很多性质,因此可以花费 \(n - 1\) 次操作比较出来 \(1\) 的位置。 同理,\(2, 3, ..., n\) 都是可以这样比较出来的,但操作次数是 \(O(n^2)\) 级别的,题目只给了我们 \(O(n \log n)\) 次操 阅读全文
posted @ 2025-09-25 18:59
Alexande
阅读(5)
评论(0)
推荐(0)
摘要:
感觉是经典题,但还是做不明白。 首先考虑 \(x + y \ge k\) 的必要条件是 \(x, y\) 必有一个 \(> \frac{k}{2}\),但是这并不是充分条件,假设 \(x < y\),那么还需要满足 \(|y - \frac{k}{2}| \ge |x - \frac{k}{2}|\ 阅读全文
posted @ 2025-09-25 16:34
Alexande
阅读(5)
评论(0)
推荐(0)
摘要:
比较好的一个题。 首先你看一下这个题目条件,其实是可以规约的,二进制下 \(1\) 的个数多的必然可以被 \(1\) 的个数少的拼凑出来,此时我们引出本题极为重要的一步:只需要确定 \(f_0\) 和 \(f_{2^i}\) 即可确定整个序列。 根据上述,显然每次可以用一个 \(f_{0}\) 和 阅读全文
posted @ 2025-09-25 15:53
Alexande
阅读(8)
评论(0)
推荐(0)
摘要:
好家伙,标签一出来给我假完了。 刚开始以为是拆位对于每一位的每一层去做贪心,结果发现假了。 有一个很显然的性质是,答案一定由原序列若干个数异或得到,现在我们需要观察这些数有什么性质。 我们再仔细一想,如果这些数是和位置有关的话,由于我可以任意排列整个序列,那么交换两个位置同样合法,也同样会改变最终答 阅读全文
posted @ 2025-09-25 14:52
Alexande
阅读(4)
评论(0)
推荐(0)

浙公网安备 33010602011771号