由约瑟夫问题的O(n)解法展开去

来源:互联网 发布:网络恐怖小说排行榜 编辑:程序博客网 时间:2024/06/16 19:06

也跟风说下下约瑟夫问题的O(n)解法。

这道题很久以前是看过解法的,这次憋想了好久没回忆起来。想哭的心都有了,感叹脑袋秀逗的太早了。。。(我勒个去啊。。。)

先谈本题的思路吧:

1. 链表,数组的游戏模拟都很不给力,达不到要求。

2. 我们想要的只是最后xxx的标号而已,中间谁谁谁怎么了我们都不关心。

3. 区分一下:N个人参加游戏,和第N次退出(参加人数大于N)的区别。

所以具体我也不多讲了:递推。

是的,我们有时候必须得变换思路:

中间过程我们根本不在乎,只是想要知道最终的结果。我之前一直抓着从第N个人退出去后开始分析问题的想法(这不就是过程模拟吗?),子问题没找准,或者说是根本傻到想不到那样的思路。

我真是杯具哥啊。。。

还在百合上看到这样一道逻辑题:

三位教官张,孙,周对学员进行评价:

张:训练周期太短,都不给优秀

周:有学员之前就训练过,可能有人会优秀

孙:班长或者体委会是(可能是)优秀的

这三人中仅有一人评价正确。问一定正确的结论是:

选项我就不说了。从三人的评价看:周的评价包含了孙的评价,孙若正确周必正确。所以,孙肯定是错的。

这样可以很容易得到答案的。或者这种题也可以对选项进行排除法。

这类有意思的题很多,一下子想不出来也是正常的... ...

原创粉丝点击