ARC 125 F

首先关于这类计数数对的问题,考虑枚举一维,令一维需要满足连续,然后只需要算出区间左右端点即可。

首先度数序列\(a_1,a_2...a_n\)满足\(a_i\geq 1\&\sum a_i=2n-2\)

本题中可以发现如果我们将\((x,y)\)变成\((x-y,x)\),也就是将所有\(a_i-1\)

可以证明这样的\((x,y)\)区间对于\(x\)\(y\)为一段区间。

证明:

假设原序列又\(z\)\(0\),假设构成\(x\)的最多个数和最少个数为\(max_x,min_x\)

由于\(max\)中一定包含\(z\)个零,\(min\)中不包含\(0\),所以只需要证明\(max_x-min_x\geq 2z\)即可。

可以发现如果\(s-cnt\)的范围区间是\([-z,z-2]\)长度\(\leq 2z\)