华为od 学生重新排队

dp[i][j] : 从下标 0 到下标 i ,保留若干个元素,且一定保留 a[i],形成 j 个段的最大保留数量。

考虑最优的情况, 我们选择了k个数字拿出,此时还剩下n-k个数字,他们所形成的段数一定不超过m段。

证明:如果超过m段,则一定存在同一个分组的两个元素分隔开,此时无论将k个数字如何插入,都不能形成m段。矛盾。

此时我们将问题了转化为:剩余段数<m段时,求最大保留数。

全部评论

相关推荐

评论
1
1
分享

创作者周榜

更多
牛客网
牛客企业服务