- 程序有所改变。发帖如还有问题请报告
- 【征集】西西河的经济学,及清流措施,需要主动参与者,『稷下学宫』新认证方式,24年网站打算和努力目标
主题:【原创】由一个简单的面试题想起的 -- 东方射日
共:💬43 🌺18 新:
假设这样一个方案(实际上也没有别的方案):
先选取一些节点A_0=1<A_1<A_2<……<A_k<A_{k+1}=N,用第一个包裹依次试验这些节点,得到M所在区间A_{s-1}<=M<A_s,然后再用第二个包裹在这个区间里一个个试上去。当M遍历1——>N时,需要的总次数为
现在需要调整As和k的值使得S最小。先对As求偏导得到
2A_k=A_{k-1}+N
2A_s-A_{s+1}-A_{s-1}=1 1<s<k
2A_1=A_2+2
因此A_s=1+as-s^2/2,代入第一个方程(或者直接要求A_{k+1}=N也差不多)得到a=a(N,k),把A_s和a代入S,得到S=S(N,k),现在要找一个k使得S最小,对k求偏导并假设N非常大,即得k^2≈2N,S/N≈2k/3≈Sqrt(8N/9)
直接用等差数列(A_s=as+b)得到k^2≈N,S/N≈k≈Sqrt(N)。
本帖一共被 1 帖 引用 (帖内工具实现)
- 相关回复 上下关系8
🙂从道理上来说,是应该递减才好。。。 大大的熊 字50 2007-02-28 19:58:58
🙂这不是原因,注意前提是每层摔坏的几率相同 大洋芋 字190 2007-03-03 06:05:53
🙂噢。。我还没仔细研究算法。。。。不过,这个前提是错的。。 大大的熊 字48 2007-03-03 07:54:41
🙂这种方法已经非常接近最佳方案了
🙂笨笨的解法是这样的 2 老虎五 字979 2007-02-28 01:42:55
🙂Bernoulli numbers 大洋芋 字78 2007-03-02 19:41:28
🙂f(x,P)的定义不是很清楚 大洋芋 字483 2007-03-02 19:36:55
🙂n^2求和 1 枸杞子 字23 2007-02-28 07:07:04