分块题
列出表达式可以发现每个区间 \([L,R]\) 对于 \(B\le R-L\) 的块长的运算量表达式中不平凡的是 \(\lfloor\frac{L-1}B\rfloor-\lfloor\frac{R-1}B\rfloor\)
枚举 \(B\) 和商,对应区间求出来 \(\pm 1\) 的和即可。由于有贡献区间限制,于是要树状数组。复杂度来到 \(\Theta(n\log^2n)\)
神必题
2022-03-13 模拟赛 T3
逆天题
\(f_i\) 的 \(\rm OGF\) 为 \(\displaystyle \left(\prod_{i=0}^{n-1}(1+x^i)\right)^m\mod (x^{n}-1)\)
模 \(x^{n}-1\) 就是做长度为 \(n\) 的 \(\rm DFT\) ,于是 \(\widehat f_i=\displaystyle\left(\prod_{k=0}^{n-1}1+\omega^{ik}_n\right)^m\) 。设 \(d=\gcd(i,n)\),处理掉不是转 \(n\) 下转回的情况(挪到指数上),此时可以将表达式写作: \(\displaystyle\widehat f_i=\left(\prod_{k=0}^{\frac{n}d-1} (1-\omega^{k}_{n/d})\right)^{dm}\) 。
根据伟大的因式分解哲学,\(x^n-1=0\) 有 \(n\) 个复根,分别为 \(\omega_{n}^0\dots \omega_{n}^{n-1}\) ,于是 \(\displaystyle{\rm LHS}=\prod_{i=0}^n x-\omega^{i}_n\) 。带入 \(x=-1\) 可以得到 \(\widehat f_i\) 的化简过后的形式: \(\widehat f_i=[2\nmid \frac{n}d]2^{md}\)
最终答案是 \(\displaystyle\sum_{i=0}^{n-1}f_{i}^2=\sum_{i=0}^{n-1}f_{i}f_{n-i}=\sum_{i=0}^{n-1}f_{i}f_{-i\pmod n}=[x^0]F^2(x)\) ,也就是一个卷积的形式。不难发现 \(\gcd(i,n)=\gcd(j,n)\Rightarrow \widehat f_i=\widehat f_j\) 。于是求出来 \(\widehat f\) 之后对于 \(d\mid n\) 的 \(d\) 计算 \(\varphi(\frac{n}d) \widehat f_d^2\) 即可(因为 \(\rm IDFT\) 矩阵的第零行全是 \(1\))
求 \(\widehat f\) 的过程需要暴力搜因子配合光速幂,找因子需要 Pollard-Rho于是我鸽了。\(\varphi\) 边搜因数边算即可