题解 LGP1053 【篝火晚会】
我感觉这些题解都好复杂而且看不懂看不懂/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
QwQwQ