跟队友 vp,被暴杀了。

A

根据小学数学知识,把所有数乘起来就行。

B

口算可以发现答案是 $\sum \limits_{i = 1}^n (2i^2 - i)$,套公式算。

C

一个很容易被注意到的事实是,只有完全平方数才会有偶数个因子。

将区间异或和转化为前缀异或值,枚举区间端点和完全平方数,简单统计一下即可。

D

显然答案具有单调性,考虑二分怎么检验。

最直接的想法是二维 RMQ,我思考了好久二维 ST 表怎么写。

然而检验的复杂度不会少于 $O(nm)$,可以用 $01$ 赋值的方法做,最后用二维前缀和判断。

E

每次可以连接 $k$ 条边权为 $k + 1$ 的边,先考虑有多少边符合题意。

这等价于有多少点 $u, v$ 满足 $\gcd(u, v) = k + 1$,也就是 $\gcd(u / (k + 1), v / (k + 1)) = 1$。

这个东西看着就是一脸欧拉函数的样子,我们可以考虑有多少点对 $(u, v)$ 满足 $1 \le u, v \le n$ 且 $\gcd(u, v) = 1$,这个其实就是欧拉函数的前缀和。

再注意到明显先选 $k$ 大的边代价会更少,所以从大往小加边就行了。

F

$n$ 很小,考虑暴力枚举好的位置,好的位置上的数,左边小于它的数的个数,右边大于它的数的个数。

设 $f(v)$ 表示 $v$ 对答案的贡献,可以写出这个式子:

$$ f(v) = v\sum_{i = 1}^n \sum_{j = 0}^{i - 1} \sum_{k = j + 1}^{n - i} \binom{i - 1}{j} \binom{n - i}{k} (v - 1)^j(k - v + 1)^{i - j - 1} v^{n - i - k}(k - v)^k $$

最后的答案是 $\sum \limits_{i = 1}^k f(i)$。

看起来很难算,但是注意到这个式子是关于 $v$ 的多项式,最高次数为 $n + 2$,用拉格朗日插值插出来就行了。

Last modification:November 8, 2023
如果觉得我的文章对你有用,请随意赞赏