刚开始感觉很一般的一道题,没想到做起来竟然很蹉跎,肯定不能暴力解密,因为转换次数有可能很大,所以极有可能会TLE,分析题目:可以将序列分成一个个组或者说是集合,这个集合中的元素通过解密后还是在这个集合中,好像是置换群的概念,以后好好学习一下。若一个集合元素个数为m,则在这个集合中的元素都是以m为循环的。刚开始是想求出所有组元素个数的最小公倍数,然后一起处理,可是这个数有可能非常的大,所以就将各个组分别处理。下面有两种处理方法:1。将全部元素分别处理 2.将一个组中的元素同时处理 方法2的效果还是很明显的,比方法一快了近200ms
方法一:
方法二: