2024年4、5月 杂题记录

P10322 高洁(Purity)

\(d=\prod p_i^{c_i}\),容易发现当 \(d\mid i^k\) 时,\(i^k\) 的所有质因子的幂次都不小于 \(d\) 的所有所有质因子的幂次,即 \(i^k\) 含有的质因子的幂次至少为 \(\lceil c_i/k\rceil\),因此我们设

\[f_k(d)=\prod p_i^{\lceil c_i/k\rceil} \]

那么就有 \(d\mid i^k\Leftrightarrow f_k(d)\mid i\),因此能级为 \(k\,(k>1)\) 的答案为

\[\begin{aligned}ans(k)&=\sum\limits_{i=1}^n i^{k+1} [f_k(d)\mid i][f_{k-1}(d)\not\mid i]\\ &=f_k(d)^{k+1}\sum\limits_{i=1}^{\lfloor n/f_k(d)\rfloor}i^{k+1}[(f_{k-1}(d)/f_k(d))\not\mid i] \end{aligned} \]

\(m=\lfloor n/f_k(d)\rfloor\)\(q_k=f_{k-1}(d)/f_k(d)\),则

\[\begin{aligned}ans(k)&=f_k(d)^{k+1}\sum\limits_{i=1}^mi^{k+1}(1-[q\mid i])\\&=f_k(d)^{k-1}\sum\limits_{i=1}^mi^{k+1}-q_k^{k+1}\sum\limits_{i=1}^{\lfloor m/q_k\rfloor}i^{k+1} \end{aligned} \]

\(k=1\) 时答案也很简单,

\[ans(1)=\sum\limits_{i=1}^n {i^2 [d\mid i] }=d^2\sum\limits_{i=1}^{\lfloor n/d\rfloor}i^{2} \]

整个题就变成了自然数的 \(k\) 次幂和的问题:

\[s_k(n)=\sum\limits_{i=1}^n{i^k}$$​ 可以直接 $\mathcal{O}(k^2)$ 递推求出。 最后还需要求出能级为 $0$ 的数的和,记 $ord=\prod p_i$,这就是 $$\sum\limits_{i=1}^ni[ord\not\mid i]\]

用上文办法处理即可。

时间复杂度 \(\mathcal{O}(Tk^2(k+\log n))\)​。

P3411 序列变换

P5947 [POI2003] Trinomial

神奇题目。

注意到 \(\bmod 3\),于是将原式变成 \(((x-1)^2+3x)^n=\sum\limits_{i=0}^n C_n^i(x-1)^{2i}(3x)^{n-i}\)

发现只有 \((x-1)^{2n}\) 项有用。展开得 \(\sum\limits_{i=0}^{2n}C_{2n}^i x^i(-1)^{2n-i}\),使用卢卡斯定理计算即可。

CF1967B2 Reverse Card (Hard Version)

\(a=Ad,b=Bd\,(A\perp B)\),即求 \(A+B\mid Bd\) 的数量。

注意到 \(\gcd(A+B,B)=1\),因此即求 \(A+B\mid d\) 的数量。

这里开始被 SE 带偏了。发现 \(A\leq \sqrt{n}\),所以直接暴力枚举即可。

CF1967C Fenwick Tree

注意到 \(s\) 就是树状数组。然后考虑计算变换 \(k\) 次后 \(a_i\) 对祖先的贡献系数,打表发现是 \(\dbinom{\Delta d+k-1}{\Delta d}\)

CF442C Artem and Array

又是这种贪心题。还是要多观察,多猜。

P10259 [COCI 2023/2024 #5] Piratski kod

记录下我的抽象做法。

枚举最后一段的长度,只需求前面的总和。

\(f_i\) 表示长度为 \(i\) 的总和。转移即考虑枚举断点 \(j\),有

\[f_j\times g_{n-3}+v_n\times h_j\rightarrow f_i \]

其中 \(n=i-j\)\(g_n\) 表示长度为 \(n\) 的不含连续两个 \(1\) 的方案数,\(v_n\) 表示长度为 \(n\) 的海盗表示的总和。

最后统计 \(ans_i=\sum f_j\times g_{i-j}\)​。

注意处理一些特殊情况。

P6521 [CEOI2010 day2] pin

模拟赛 T1,比较好想的容斥。

先转化为求恰好 \(4-D\) 个位置相同的对数。

状压一下求出 \(g_i\) 表示至少 \(i\) 个位置不同的对数,然后容斥即可,系数是组合数。

P10260 [COCI 2023/2024 #5] Rolete

观察到先整体拉肯定不劣,二分出整体拉的速度小于单独拉的速度的时刻,然后计算即可。

posted @ 2024-04-08 21:24  xishanmeigao  阅读(55)  评论(0)    收藏  举报