首页 > 其他分享 >CF1834F

CF1834F

时间:2023-08-20 19:44:44浏览次数:24  
标签:res sum 重置 CF1834F 反转 移动

原题

翻译

容易发现对于一个排列\(p\),其重置次数为\(\sum_{i=1}^n{[p_i<i]}\),因为如果\(p_i = i\)不用操作,\(p_i > i\)可以直接顺着带过去不用重置

原问题就变成了进行左右移动操作和反转操作,和查询\(\sum_{i=1}^n{[p_i<i]}\)

不妨定义\(res_i\)表示向右移动\(i\)位的答案,对于每一个\(p_i\),他对\(res\)产生贡献的是一段或两段区间+1,这个可以差分后前缀和维护出数组\(res_i\)

而如果有了反转操作我们只需要再维护出\(rres_i\)表示反转后向右移动\(i\)位的答案即可

最终复杂度\(O(n+q)\)

标签:res,sum,重置,CF1834F,反转,移动
From: https://www.cnblogs.com/fox-konata/p/17644459.html

相关文章