专栏文章

题解:CF2147F Exchange Queries

CF2147F题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@mint2ae2
此快照首次捕获于
2025/12/02 07:53
3 个月前
此快照最后确认于
2025/12/02 07:53
3 个月前
查看原文
api=sia_{p_i}=s_i,这样 (pi,si)(p_i,s_i) 变成了 (x,ax)(x,a_x)(也可以看成是以 pp 为关键字排序),显然此时后面的点能到前面的点。
考虑什么时候前面的点不能到后面的点,也就是 [1,i][1,i] 内的点无法连向 [i+1,n][i+1,n],也就是 [1,i][1,i] 的值域为 [1,i][1,i],这是充要的。称这样的 ii 是关键的。假设关键点为 b1,,bkb_1,\cdots,b_k,答案为 (bibi1)(nbi1)\sum (b_i-b_{i-1})(n-b_{i-1}),由于 bk=nb_k=n,这实际上可以化简为 bi2bibi+1\sum b_i^2-\sum b_ib_{i+1}
考虑怎么维护这个东西,发现如果令 ci=j=1iajjc_i=\sum_{j=1}^ia_j-j,注意到 ci0c_i\ge 0,而有且仅有 ci=0c_i=0ii 是关键的。所以相当于是要支持区间加,维护区间最小值的一些信息,线段树维护即可,O(qlogn+n)O(q\log n+n)
code

评论

0 条评论,欢迎与作者交流。

正在加载评论...