我感觉这些题解都好复杂而且看不懂看不懂/dk/dk于是来水一篇.
题意蛮难懂的感觉.造要达到的环这个过程比较简单,不多说.
从初始环到目标环
显然,把环的位置固定(严禁旋转)时,不相同的个数就是答案.
暴力的话. (O(n)) 旋转到不同角度的环,再 (O(n)) 计算答案.是 (O(n^2))
要优化
固定目标环,就按照原来刚求出的目标环就可以了
增加数组 (dis) , (dis_i) 是目标环上第i个离初始环上它的位置的距离,
也就是说,只要转 (dis_i) 就可以使它相同,不需要用命令改变位置.
使用 (vis_i) 计算 (vis_{dis_i}) ,也就是 (dis_i) 出现次数
答案是 (n-max(vis_i))
另外,有可能环是倒序的,因此也要计算一遍.
代码好写的很,不上了.
Thanks