跟队友 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$,用拉格朗日插值插出来就行了。
2 comments
想想你的文章写的特别好https://www.ea55.com/
看的我热血沸腾啊https://www.jiwenlaw.com/