三个鸡蛋(玻璃球、围棋子)确定楼层问题公式推导

本文介绍了一个利用动态规划策略解决寻找100层大厦临界楼层的问题,通过两个玻璃球的最优策略推导,进而探讨了三个玻璃球的情况。利用状态转移方程F(n,k),给出了边界条件和递推关系,并分析了如何通过递归关系找到最佳测试策略,以最小的测试次数确定临界楼层。" 137197296,8753399,C# 实现系统托盘图标及菜单功能,"['C#开发', 'Windows应用', '桌面应用', '编程实践']
摘要由CSDN通过智能技术生成

文章原先发表在:http://blog.163.com/cyhuoyan@126/blog/static/1623497552013368914262/

1)题目是这样的:一个100层的大厦,你手中有两个相同的玻璃球。从这个大厦的某一层扔下围棋子就会碎,用你手中的这两个玻璃围棋子,找出一个最优的策略,来得知那个临界层面。
    
这里的最优策略指的是在这种策略下无论哪个临界层面在第几层,测试的次数最少。我一开始就是把题意理解错了,给了一个非最优解,后来看了CU那的讨论后才明白了是用动态规划来做,并可以把题目扩展为n层大厦用k个玻璃球来测试。
    
F(n,k)为用k个玻璃球来测试n层大厦的临界层的最少次数,状态转移方程如下:
    F(n,k)=min{max{F(r,k-1), F(n-r,k)}+1, 1<=r<=n}
    
边界条件:F(n,1)=n-1, F(1,k)=F(0,k)=0
    
状态转移方程可以这样来考虑,假设在n层楼中的第r层抛一次(对应方程中的"+1"),会有两种情况发生:
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值