Round821 Div2 D2
题目描述
给定两个相同长度的01串。现在要对串1进行操作,选择两个位置,让它们0变成1,1变成0,如果是相邻位置,费用为
解题思路
首先,不相同位置的个数必须是偶数才能操作。
当
当
根据常见的动态规划考虑策略,我们需要枚举从哪个位置与当前位置发生的交换。交换的策略加上两者之间的答案再加上之前的答案就是整个的答案贡献。
因此我们可以做区间dp,但是复杂度是
我们考虑如何计算两者之间贡献的答案。首先我们考虑这之中是否会有交换的发生。答案是不会。因为如果有交换的发生,假设
接下来我们考虑是否这个区间的个数可能为奇数呢?答案也是不会。如果为奇数,其中必定有一个数字
因此我们可以列出状态转移方程:
- Title: Round821 Div2 D2
- Author: zzyNorthPole
- Created at : 2023-04-06 21:27:54
- Updated at : 2023-05-03 20:25:17
- Link: https://zzynorthpole.github.io/2023/04/06/Round821-Div2-D2/
- License: This work is licensed under CC BY-NC-SA 4.0.