算法-约瑟夫环
目录
警告
本文最后更新于 2022-08-07,文中内容可能已过时。
原理
倒推法
- 还剩
1个人,此人获胜,下标为
$$f(1,k)=0$$
- 还剩
2个人,淘汰第k个人,即淘汰下标(k-1)%2,下次从k%2开始,则获胜者下标为
$$f(2,k)=(f(1,k)+k)\mod 2=(0+k)\mod 2$$
- 还剩
3个人,淘汰第k个人,即淘汰下标(k-1)%3,下次从k%3开始,则获胜者下标为
$$f(3,k)=(f(2,k)+k)\mod 3=((0+k)\mod 2+k)\mod 3$$
…
n个人,淘汰第k个人,即淘汰下标(k-1)%n,下次从k%n开始,则获胜者下标为
$$f(n,k)=(f(n-1,k)+k)\bmod{n}=(\cdots((0+k)\bmod{2}+k)\bmod{3}\cdots)\bmod{n}$$
| |