第n杯水分析

###第n杯水分析###

####原题
有一座金字塔,从上到下,第一层有一个杯子、第二层有两个杯子,依次类推。对杯子进行编号,有如下的形状:

1
23
456
每个杯子的容量为C升,从塔顶倒下L升水,当1号杯子满了之后,会等量溢出到2号和3号杯子。当2号和3号满了,2号溢出到4号和5号,3号溢出到5号和6号,注意5号接受来自两个杯子的水。依次类推。给定C和L,请问,第n杯里有多少水。

####分析
这个类型的题目,关键点就是明了水倒下来的过程。我们这里做简单的分析, 假设L>C, 如果L<=C,则除了1号杯子,其他的都是0。

  • 1号倒满,剩下L-C升,然后分两半进入2号和3号:(L-C)/2
  • 2号和3号如果还能够倒满,则2号溢出((L-C)/2-C)L,3号溢出同样多
  • 4号为((L-C)/2-C)L/2, 5号为((L-C)/2-C)L,6号为((L-C)/2-C)L/2

假设f(n)表示,当水进入n号杯中,还没有溢出到下面杯子时的水量。根据上面的分析:f(4)=(f(2)-C)/2。含义是2中的水,留下可以容纳的容量C,分为两份,一份进入4号杯,一份进入5号杯。5号杯接受来自2号和3号溢出的水,则,f(5) = (f(2) + f(3))-C。进行递归:

  • f(2)=(f(1)-C)/2
  • f(3)=(f(1)-C)/2
  • f(1)=L

分析完毕,递归过程如上。在具体的实现中,我们采用自顶向下的方法,定义数组A,A[i]表示f(i)。

金字塔深度011222
杯号123456
A索引012345
观察上面的表格,我们会发现,一个规律,i号杯深度为h,则i号中溢出的水,将平分进入:
  • i + h + 1
  • i + h + 2

比如,文章开始的图中,3号杯进入5号和六号,3号杯的h为1,则

  • 5 = 3 + 1 + 1
  • 6 = 3 + 2 + 2

利用这个技巧,可以在数组中存储树形的金字塔,并且可以很方便的找到孩子节点。

计算出所有的A[i]之后,要得到最后的答案,还有一部之遥。即:

  • A[i] >= C ? C : A[i]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
N9020A频谱分析仪是一款高性能的测试仪器,主要用于频谱分析和信号监测。它具有广泛的应用领域,包括无线通信、电子制造、航空航天等。 N9020A频谱分析仪手册提供了对仪器的详细说明和操作指南。首先,手册介绍了仪器的主要特点和技术指标,包括频谱范围、分辨率带宽、动态范围等重要参数,使用户能够全面了解该仪器的性能。 其次,手册详细介绍了N9020A频谱分析仪的硬件配置和连接方式。用户可以了解如何正确连接仪器与被测设备,以及如何接入外部信号源和控制接口。这些信息对于正确使用仪器至关重要。 手册还提供了对N9020A频谱分析仪软件的详细说明。用户可以了解如何正确安装和设置软件,以及如何进行仪器的各种操作,如扫描频谱、设置测量参数、捕获和分析信号等。软件详细介绍了各种功能和选项的使用方法,让用户能够充分利用仪器的各种功能。 除了基本的操作说明,手册还提供了故障排除和维护方面的建议。用户可以根据手册中的指导,了解常见故障的诊断和解决办法,避免损坏仪器或延误测量任务。此外,手册还提供了对仪器的日常维护和保养建议,以确保仪器的可靠性和性能。 总的来说,N9020A频谱分析仪手册提供了对该仪器的全面介绍和详细操作指南,使用户能够全面了解并正确使用该仪器,从而顺利完成各种测试任务。用户可以根据手册中的指导,快速熟悉并掌握该仪器的操作方法,提高工作效率。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值