https://www.luogu.com.cn/problem/CF1107E
场上想的思路是朴素 O ( n 5 ) O(n^5) O(n5),枚举区间和多少个0/1,转移则是枚举分界点和左边0/1数量
然后可以发现转移的 O ( n 2 ) O(n^2) O(n2) 似乎不那么必要(就是感觉上可以优化,但不知道怎么优化)
首先发现最后合并在一起的东西映射到原序列里是一种类似树形结构的东西。然后可以考虑类似用消掉中间的东西来区间dp
d p ( l , r , k ) dp(l,r, k) dp(l,r,k) 表示 [ l , r ] [l,r] [l,r] 右边还接了 k k k 个0/1 的最小价值。枚举分界点还是要的,但是对于0/1,我们每次只考虑一个,也就是 k k k 只转移到 k + 1 k+1 k+1