给你一个字符串,d-sort指的是将这个字符串位置上模d相同的部分放在一起并且按照原來1-d位置上的次序。
asdfg的2-sort就是将adg放在前面sf放在后面,那么这个字符串就变成了adgsf
现在给你k,d从1-n-k+1的位置做,每次做从i开始的长度为k的d-sort问你之後字符串变成了什么样子并且下一次的运算在这次的运算基础上。
我们设一次操作为D那么我们处理出所有位置经过一次D操作之后的位置,然后对于下一次操作我们可以看做将这个数组往左循环移位一格然后再做,比如说4 2那么
下一次从第二位开始,但是我们可以将数組左移然后又从1开始:
这个操作记为L,那么易知D操作与L操作都是可以累加的所以我们可以记一次操作为DL,两次为(DL)^2,使用二进制优化来做也可以说是快速幂。由与最后一次不需要左移所以我们拿出第一次操作D,然后做LD操作即可