博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

水龙卷

我是一个对自己进行debug的程序,所以行动迟缓些,不要见怪
  waterspout.cublog.cn

关于作者
姓名:何云龙
职业:Linux移动终端平台开发
介绍:走的更远些
|| << >> ||
我的分类


每日一题 - 堆栈折叠
摘自《数据结构,算法与应用-C++描述》第13章习题

假定有一个堆栈,其中有n 个纸盒,纸盒1位于栈顶,纸盒n 位于栈底。每个纸盒的宽
度为w,深度为d。第i 个纸盒的高度为hi 。堆栈的体积为w*d*sum(h)

在堆栈折叠(stack folding)问题中,选择一个折叠点i 把堆栈分解成两个子堆栈,其中一个子堆栈包含纸盒1至i,另一个子堆栈包含纸盒i+ 1至n。重复这种折叠过程,可以得到若干个堆栈。如果创建了s 个堆栈,则这些堆栈所需要的空间宽度为s*w,深度为d,高度h 为最高堆栈的高度。s 个堆栈所需要的空间容量为s*w*d*h。

问题:对于给定的高度H, 将堆栈折叠为最小数目的子堆栈,使得每个子堆栈的高度均不超过H



==================== 上题分析 =====================
学生作弊概率分析

设此学生参加每次考试的概率为P(i), i=1,2,3,4。 则P(1) * P(2) * P(3) * P(4) = 0.9, 现在需要计算P(2) * P(3) * P(4),因为P(1) < 1, 因此结果不可能小于0.9

发表于: 2008-05-07,修改于: 2008-05-10 08:39,已浏览107次,有评论0条 推荐 投诉


网友评论
 发表评论