约瑟夫环问题

今天写这个题时(UVA - 1363)看到约瑟夫环,学习一发

dp和数学就像一个东西,这个问题很有dp的味道

 

假设n=10,m=3;

0 1 2 3 4 5 6 7 8 9

变化之后

0 1  3 4 5 6 7 8 9

在变

7 8 0 1 2 3 4 5 6(0 1 2 3 4 5 6 7 8)

就像转圈

发现第二个队列中的2 对应了第一个队列中的5 5=(2+3)%n

总结规律 

f[1]=0;

f[i]=(f[i-1]+m)%i;

代码就不写了

posted @ 2017-08-27 15:56  被咬过的馒头  阅读(101)  评论(0编辑  收藏  举报