Descriptionjosephus问题其实就是一个游戏,一群小孩围成一个圈,设置一个数,这个数是个小于小孩总数大于0的一个整数,从第一个小孩开始报数,当其中一个小孩报到你设置的那个数的时候离开那个圈,这样一来反复报下去,直到只剩下最后一个小孩的时候那个小孩就是胜利者。现在的问题是设n个人围坐在一...
分类:
其他好文 时间:
2015-03-12 15:01:11
阅读次数:
205
zoj 1088题目题目大意是,对n栋楼停电,先停第一栋,再隔m栋停一栋。数到最后一栋后从头循环计数,已经断电的不参与计数。要选取适当的m,使得即使其他楼都没电了,但第二栋楼仍然有电。
如果将该题视为普通的模拟算法,其时间复杂度将高达O(m*n)。由于题目给了很充足的时间和很小的m、n范围,一般的模拟算法即可完成。但有没有更高效的算法呢。
常见的优化方法是每断掉一栋楼的电,问...
分类:
其他好文 时间:
2015-01-22 18:14:08
阅读次数:
244
西方有个故事:相传著名历史学家Josephus(约瑟夫)经历了这么一段经历,在罗马人占领乔塔帕特后,40个犹太人和Josephus躲在一个山洞中。40个犹太人决定宁死也不被敌人抓到,于是决定集体自杀。大家经过讨论,决定了一个自杀方式,41个人围成一个圆圈,由第1个人开始报数,每报数到3的人就必须自杀,然后再由下一个人重新开始报数,知道所有人都自杀身亡为止。
然而Josephus并...
分类:
其他好文 时间:
2014-12-18 10:27:09
阅读次数:
158
据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所...
分类:
编程语言 时间:
2014-12-04 19:30:40
阅读次数:
173
问题来历:据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报...
分类:
其他好文 时间:
2014-10-29 18:58:03
阅读次数:
183
问题描述:
在《josephus Problem 初级(使用数组)》中,我们提出了一种最简单直接的解决方案。
但是,仔细审视代码之后,发现此种方案的效率并不高,具体体现在,当有人出局时,遍历数组仍需要对其进行判断,
这无疑做了无用功,降低了代码效率,在人数多时尤其明显。
解决方案:
当有人出局时,考虑将当前出局的人的前一个人(未出局)的下一个人置为当前出局的下一个人(未出局)。这样,便确...
分类:
编程语言 时间:
2014-10-26 18:26:10
阅读次数:
211
在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。然而Josephus 和他的朋友并不想遵从。首先从一个人开始,越过k-2个人(因为第一个人已经被越过),并杀掉第k个人。接着,再越过k...
分类:
其他好文 时间:
2014-10-19 13:02:35
阅读次数:
230
Legend has it that Josephus wouldn't have lived to become famous without his mathematical talents. During the Jewish-Roman war, he was among a band of...
分类:
其他好文 时间:
2014-10-19 11:21:09
阅读次数:
199
Description有1至N编号的N个人按顺时针方向围坐一圈,每人持有一个密码(正整数)做游戏。游戏开始时,以正整数m作为报数上限值,从第一个人开始顺时针方向自1开始顺序报数,报到m时停止报数,报m的人出列,将其密码作为新的报数上限值,从其下一个人开始重新报数,如此下去,直至所有的人全部出列为止。...
分类:
其他好文 时间:
2014-10-06 10:32:40
阅读次数:
143
Josephus排列问题的解决方法,以Python编程语言为例
分类:
其他好文 时间:
2014-09-26 19:28:58
阅读次数:
143