A
略。
B
略。
C
小学数学。
D
首先,我们可以维护一个矩形区域,如果它被切开了,就重新计算两个矩形的数据。连通块就暴力判断两个矩形区域是否连通即可。
E
当询问区间是空集时答案是简单的。
考虑询问区间非空时,其等价于:将小于 \(l\) 的数改为 \(l\),将大于 \(r\) 的数改为 \(r\),然后询问所有元素和。直接在值域上询问区间元素个数和元素和即可。
F
简单观察后就可以判断无解,为了方便分析,我们将所有元素减去平均值。
然后我们对于一堆和为 \(0\) 的元素,我们存在确定方案使得在元素个数减一次操作内将所有元素变为 \(0\)。
然后题意转化为将原数集划分为若干个集内元素和为 \(0\) 的区间,且集合数量最多。
G
为什么题的通过数会超过 F 这么多?
我们对定义 \(Ca_i\) 表示 \(i\) 在 \(A\) 数组中的出现次数,同理有 \(Cb_i\)。
那么原题即求 \(\sum \limits_{i=1}^n \sum \limits_{j=1}^iCa_i\times Cb_j\times\binom{i}{j}\)。
注意到组合数中既有 \(i\) 也有 \(j\),难以维护,考虑拆贡献。
注意到 \(j+k=i\) 是和卷积的形式,所以我们令 \(f(i)=\sum \limits_{i=0}\dfrac{Cb_i}{i!}x^i,g(i)=\dfrac{1}{i!}\),然后令 \(h(i)=f(i)g(i)\),最后答案就是 \(\sum \limits_{i=1}^nCa_i\times i! \times h[i]\),其中 \(h[i]\) 表示 \(h\) 中 \(x^i\) 的系数。