题目描述

输入描述:

输出描述:

示例1
输入
5 1
3 1
输出
3 1 5 2 4
示例2
输入
5 2
3 3
2 3
输出
1 2 3 4 5
题目大意
定义一种约瑟夫变换,比如数列 1 ∼ 5 1\sim 5 1∼5, k = 3 k=3 k=3。那么对于一次约瑟夫变换,就是像约瑟夫环一样,从1开始报3个数是3,那么变换后的新数列的第一位就是3。以此类推。二次就是在一次变换的结果上再进行一次变换,以下给出 1 ∼ 5 1\sim 5 1∼5的3次变换。
第一次: 3 , 1 , 5 , 2 , 4 3,1,5,2,4 3,1,5,2,4
第二次: 5 , 3 , 4 , 1 , 2 5,3,4,1,2 5,3,4,1,2
第三次: 4 , 5 , 2 , 3 , 1 4,5,2,3,1 4,5,2,3,1
现在给出 n , m n,m n,m,并且有 m m m个 x , k x,k

本文介绍了如何使用线段树解决约瑟夫环(Josephus Transform)问题,通过分析变换规律,利用置换群快速幂减少计算次数。文章通过实例解释了如何在nlogn的时间复杂度内找到序列经过多次特定间隔变换后的结果,并讨论了使用树状数组优化算法的可能性。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



