免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1846 | 回复: 9
打印 上一主题 下一主题

[算法] (算法问题)序列求解问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-12-27 16:36 |只看该作者 |倒序浏览
让我们来假设这样一道题:
   
    有一条环型的山路,路边随机分布着一些苹果树,树上随机结着一些苹果。有个人,从某棵苹果树出发,遍历整个环型山路,一边走呢,一边摘苹果。他身上没任何食物,只能吃苹果充饥,你可以把他想象成鲁宾逊

条件如下:

1、该环型山路有n公里长。

2、为简化问题,我们假设鲁宾逊吃1个苹果可以走1公里路,假设他身上可以存无限数量的苹果,若是苹果吃完了,还没走到下一颗苹果树,就地倒毙。

3、要求编程求出:该环型山路中是否存在这样一颗苹果树,使鲁宾逊从该树出发,能够遍历完整个山路回到该树。

希望能考虑到山路的长度n和苹果树的数量m都非常大时,算法的效率问题。

任何讨论都是欢迎的。包括问题的程序化,数据结构,算法和优化。

论坛徽章:
0
2 [报告]
发表于 2006-12-27 17:12 |只看该作者
友情顶贴
请勿跟风

起始有果子吗?
每棵树有多少个果子呢?

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
3 [报告]
发表于 2006-12-27 20:06 |只看该作者
n<m的时候,一定是没有这样的路的;
n=m的时候,记得以前我们学校的算法版上有人证明过是是一定可以的。
n>m的时候,当然也是可以的(因为可以放低到m)

论坛徽章:
0
4 [报告]
发表于 2006-12-27 22:15 |只看该作者
如果要构造出解的话
问题可以转化为求2m长的序列里任意长度为m的段的最小值
这个可以在O(m)做出来...

楼上的结论想了一下.
在上面的规约的思路基础上应该可以证明.

论坛徽章:
0
5 [报告]
发表于 2006-12-28 09:51 |只看该作者
友情顶贴
请勿跟风

有没有人想过,起点那颗树上一个果子
然后最近的那颗树离他有2公里呢?

............

貌似偶然性很大.........

论坛徽章:
0
6 [报告]
发表于 2006-12-28 10:05 |只看该作者
原帖由 Zelgadiss 于 2006-12-28 09:51 发表
友情顶贴
请勿跟风

有没有人想过,起点那颗树上一个果子
然后最近的那颗树离他有2公里呢?

............

貌似偶然性很大.........



这颗树显然不是起点. 我们找一颗满足的即可.

论坛徽章:
0
7 [报告]
发表于 2006-12-28 11:33 |只看该作者
能不能换个说法啊,一说吃苹果,烧绳子,走迷宫,我就索然无味了...来个实际的说话
比如果某个项目中要做到啥啥啥...
不是效率差就是空间不够使

原帖由 石油工人干IT 于 2006-12-27 16:36 发表
让我们来假设这样一道题:
   
    有一条环型的山路,路边随机分布着一些苹果树,树上随机结着一些苹果。有个人,从某棵苹果树出发,遍历整个环型山路,一边走呢,一边摘苹果。他身上没任何食物,只能吃苹果充 ...

论坛徽章:
0
8 [报告]
发表于 2006-12-28 15:47 |只看该作者
原帖由 cjaizss 于 2006-12-27 20:06 发表
n<m的时候,一定是没有这样的路的;
n=m的时候,记得以前我们学校的算法版上有人证明过是是一定可以的。
n>m的时候,当然也是可以的(因为可以放低到m)

折返跑怎么办?
比如
5公里路
2.5公里处有3个苹果,5公里处有2个苹果

论坛徽章:
0
9 [报告]
发表于 2006-12-28 15:50 |只看该作者
哦,没注意环形路

论坛徽章:
0
10 [报告]
发表于 2006-12-28 16:21 |只看该作者
考虑N=m的情况,逆时针方向环绕。
设共用k棵苹果树:T(1),T(2),.......T(k)
T(i)有N(i)个苹果,T(i)与T(i+1)间的距离L(i)
现在记X(i)=N(i)-L(i)
则X(1)+X(2)+.....+X(k)=0
问题转化为选择某个X(i),
使得从X(i)开始,任意j个变量之和非负(1<j<k)。

X(i)中至少有一个数非负,不妨就记为X(i)
我们令X(i)=X(i)+X(i+1)
消去X(i+1),k--

重复上面的步骤,直到k==1

最后剩下的X(i)就是初始出发的地点。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP