洛谷2320 鬼谷子的钱袋 形式化证明

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/h_zx_h_zx/article/details/80345172

题目

描述

这里写图片描述

输入输出示例

输入
3
输出
2
1 2

解法

  • 对于m个待装袋的金币,取m/2 个金币装入第一个袋子,然后递归求解

证明

  • 对于一个数m,采用每次分割一半的方法,共分割出lg2m+1 个袋子
  • 按照题意,我们需要给出一个k个元素的序列,这个序列有2k 种选择元素的方法。每种选择法得出一个值。而因为需要能构造出所有可能的值,也就是要构造出[0,m] 内的所有值,共m+1个值,所以klg2(m+1)
  • 对于m1lg2(m+1)=lg2m+1
  • 所以我们的解法已经达到了最优
阅读更多
换一批

没有更多推荐了,返回首页