巧克力块谜(二叉树的性质论证)

有一块n x m 格的巧克力,我们要把它切成n x m 个 1x1的小块,只能沿直线切,而且不能同时几块同时的切。

直接先考虑1列,可以用n-1次掰成全1。用m-1次将巧克力全部掰成1列,然后每列都是一样的操作。就是 m-1+m * (n-1) -> n * m - 1

先只考虑一边,我们把它分成全是1.
对于任意的长度,都可以像二叉树那样分解(用网上的一种完全二叉树的定义来说下图即为完全二叉树)(也可以随便分解,但这里用二叉树的性质去分解)。如图
在这里插入图片描述
可以知道,分解的次数就为非叶子节点的个数,设为x . 则总点数为 2x+1 (完全二叉树的性质), 又由一个数可以分解成2n-1个点(归纳法) 故 x = n-1.

即 最少的操作次数为 m-1 + m*(n-1) = n*m-1.
后面 (n-1) * m 表示有m个长度为n的需要分。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值