1 条题解
-
0
自动搬运
来自洛谷,原作者为

0xyz
assign3搬运于
2025-08-24 22:53:26,当前版本为作者最后更新于2023-12-23 18:36:26,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
赛后写出,比 std 少一个 ,不需要任何数据结构。
不难想到区间 DP,令 表示将区间 完全折好最少要折多少次,以及在这一前提下最小的不对称度是多少。那么我们枚举在哪个点 折叠,并转移即可。能在点 折叠要求 左右边能完全匹配的位数 。这个 可以 预处理。总时间复杂度 的代码。
考虑优化,注意到对于区间的左半边是一类转移,区间的右半边是一类转移。对于剩余串 和 ,如果 是 的子串,那么 的最优折叠一定优于 的最优折叠。这启示我们,对于区间 左半边的所有 ,取最右边那个,设为 ;右半边的,取最左边那个,设为 。 只需要由 和 转移而来,这样就可以保证每次操作都是最优的。代码。
注意到 的实质是前缀 里满足 的最大 。状态 只有 个,所以我们可以通过枚举 预处理出所有 。对 的处理同理。总时间复杂度 ,空间复杂度 ,跑得很快。代码。
- 1
信息
- ID
- 9580
- 时间
- 2500ms
- 内存
- 512MiB
- 难度
- 6
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者