VEXOBEN
Vexoben
Oct 23, 2018
It takes 1 minutes to read this article.

比赛链接:AGC001

写完AGC003发现忘记写AGC001了……赶紧来补一发。

(刷新以获取数学公式)

E. BBQ Hard

题意

给定 和数组 , , 求:

,

题解

亮点在于模型转化。

考虑坐标平面上的 个点 , 就是从 走到 的方案数。

求和的话只是可以有多个起点而已。DP即可。

注意要去掉 走到 的贡献。

代码

F. Wide Swap

题意

给定 ~ 的一个排列 和整数 , 每次可以选择两个数 , 满足 , 然后交换 ,

问最小可以得到的字典序。

n ≤ 500000

题解

这个限制非常难处理。所以我们转而在 的逆上进行操作。

, 交换的限制就变成了:选择两个绝对值差大于 的相邻数。

注意到 字典序最小等价于 字典序最小。而如果两个数绝对值差小于,他们的相对顺序不可能改变。

对这样的限制连边,就变成了求字典序最小的拓扑序列。

但是这样连出的边数是 的。考虑对它进行优化。

只会向 这两段区间连边。而每段区间只需连这段区间中已经出现过且下标最小的数即可,线段树维护一下。

最后别忘记再还原到 数组

代码