华为od 学生重新排队

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

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

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

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

全部评论

相关推荐

03-28 19:11
铜陵学院 C++
有礼貌的山羊追赶太阳:太典了,连笔试都没有开始就因为HC满了而结束了,而且还卡你不让你再投其他部门的。
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客企业服务