下笔春蚕食叶声。

题解 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

posted @ 2020-10-27 08:24  ACwisher  阅读(57)  评论(0编辑  收藏  举报