zroi-8-07 发表于 2021-08-07 更新于 2021-08-15 区间DP 以区间作为DP状态的一类DP 例题:洛谷P4302 题解: 每一次折叠的是连续的一段,最终求的是折叠后的最小值 对于这种"把子串折叠 使最终长度最小"的题目,可以想到是区间dp 状态设计为dp[i][j]是i到j可以折叠成的最短字符串长度 容易想到假如 从 i 到 k (i≤k≤j,k∣len)(i \le k \le j, k | len)(i≤k≤j,k∣len) 的子串重复后可以得到 [i - j], 那么 dp[l, r]可以被dp[l, k] + c[k - l + 1] + 2更新 这里 c[i] 指 i 十进制的位数,2是指折叠标记的两个括号 欢迎关注我的其它发布渠道 Twitter Telegram TGroup RSS