摘要: 就是经典约瑟夫环问题的裸题我一开始一直没理解这个递推是怎么来的,后来终于理解了假设问题是从n个人编号分别为0...n-1,取第k个,则第k个人编号为k-1的淘汰,剩下的编号为 0,1,2,3...k-2,k,k+1,k+2...此时因为从刚刚淘汰那个人的下一个开始数起,因此重新编号把k号设置为0,则k 0k+1 1...0 n-k1 n-k+1假设已经求得了n-1个人情况下的最终胜利者保存在f[n-1]中,则毫无疑问,该胜利者还原到原来的真正编号即为 (f[n-1]+k)%n (因为第二轮重新编号的时候,相当于把每个人的编号都减了k,因此重新+k即可恢复到原来编号)。由此,我们可以想象,当最. 阅读全文
posted @ 2014-02-26 14:46 KRisen 阅读(3755) 评论(1) 推荐(4) 编辑