题解:AT_abc410_c [ABC410C] Rotatable Array
_peter6
·
·
题解
题目大意
这题看着是要处理数组的修改、查询和循环左移,但直接模拟左移肯定有大大的 TLE。所以关键肯定是不用真的动数组,靠记偏移量来处理。
坑点
题目里给的 p 是 1-based 的,有些人习惯 0-based 存,一开始没减 1,算出来的位置全错。
思路
循环左移 k 次,等价于给所有操作的位置加个偏移量。
所以我只需要维护一个偏移量 sh,每次左移 k 次就把 sh 加 k,然后操作的时候,把题目给的 p 转换成真实下标。所有操作都是 O(1) 的。
code