区间dp之类似树形结构增加限制合并枚举状态:CF1107E

本文搬运自本人高中时期CSDN博客,若图片加载不出来,可到原文查看:https://blog.csdn.net/zhangtingxiqwq/article/details/133759674

https://www.luogu.com.cn/problem/CF1107E

场上想的思路是朴素 O(n5)O(n^5) ,枚举区间和多少个0/1,转移则是枚举分界点和左边0/1数量


然后可以发现转移的 O(n2)O(n^2) 似乎不那么必要(就是感觉上可以优化,但不知道怎么优化)

首先发现最后合并在一起的东西映射到原序列里是一种类似树形结构的东西。然后可以考虑类似用消掉中间的东西来区间dp

dp(l,r,k)dp(l,r, k) 表示 [l,r][l,r] 右边还接了 kk 个0/1 的最小价值。枚举分界点还是要的,但是对于0/1,我们每次只考虑一个,也就是 kk 只转移到 k+1k+1