一直都在取模的地方很混乱 比如 7个人 m=4 的约瑟夫问题
要把7 个人标号从0-6; 即0 1 2 3 4 5 6 . 取m 应该取下标为 (0+4-1)%7=3; 把 p[3]去掉后 第二次取 下标应该为 (3+4-1)%7; 应该这样理解 (x+y-1)%7 ; x代表起始下标位置,y代表 要增加的数 减一 是因为从起始位置 要把多加的一位减去 .同样如果每次的m值都不同. 也应该这样. 得到下标 即得到 这个数左边应该有几个数,就可以用线段树来求解.
一直都在取模的地方很混乱 比如 7个人 m=4 的约瑟夫问题
要把7 个人标号从0-6; 即0 1 2 3 4 5 6 . 取m 应该取下标为 (0+4-1)%7=3; 把 p[3]去掉后 第二次取 下标应该为 (3+4-1)%7; 应该这样理解 (x+y-1)%7 ; x代表起始下标位置,y代表 要增加的数 减一 是因为从起始位置 要把多加的一位减去 .同样如果每次的m值都不同. 也应该这样. 得到下标 即得到 这个数左边应该有几个数,就可以用线段树来求解.