ARC 125 F
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\)。