有一个特殊的约瑟夫问题如下:
有1~2k这2k个人,从1开始依次报数,报到最后一个人的时候下一个报数回到第一个人,报到m的人退出,我们希望找到最小的m使得剩下k个人的时候这k个人正好是游戏开始时的前k个人(顺序不一定相同)
原先是一道入门的模拟题,不过发现用模拟的方法的话后两个点都是几百ms,十分危险(
然后又想到一般的约瑟夫问题存在O(n)甚至更快的算法,所以就在想这个问题有没有更快的算法,不过没想出来
不知道各位大神有什么想法吗,如果是一个很naive的问题的话敬请谅解,还是太菜了(