0%

311

0311测试

T1

限制是序列每个元素至少要大于左边一半的元素。

先考虑怎么算方案数,填值很不好做,考虑先把排名确定后再根据排名去填值。

然后我们需要的信息就是具体填了几个不同的数,然后就是简单的组合数,可以

T2

T3

筛法模板题。

本质上要算的是。

现在已经可以算了,对 $g$ 数论分块,然后对 $k$ 再数论分块,然后杜教筛算几个函数的前缀和,两次数论分块的复杂度为 $O(n^{\frac{5}{6}})$,可以过了。

注意杜教筛的时候所有的前缀和其实都是算过的,所以能杜教筛,换成 min25 这些筛法是不行的。

可以继续推式子,枚举 $gk=T$:

$h=\phi * \operatorname{id}$ 是积性函数,可以杜教筛。

具体的,构造 $h 1 = \operatorname{id} \operatorname{id}$。问题变成了算 $\operatorname{id} * \operatorname{id}$ 的前缀和,它就是 $nd(n)$,可以杜教筛,也可以直接数论分块算: