2020牛客暑期多校训练营Josephus Transform(约瑟夫环,树状数组/线段树,置换群快速幂)

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

Josephus Transform

题目描述

在这里插入图片描述

输入描述:

在这里插入图片描述

输出描述:

在这里插入图片描述

示例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 15 k = 3 k=3 k=3。那么对于一次约瑟夫变换,就是像约瑟夫环一样,从1开始报3个数是3,那么变换后的新数列的第一位就是3。以此类推。二次就是在一次变换的结果上再进行一次变换,以下给出 1 ∼ 5 1\sim 5 15的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
现在给出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值