XJ 5.7 T2
方法一:我会科技!
对于后面那个东西可以发现它可以直接上Min_25。
加上记忆化之后可以发现最多只有 \(O(\sqrt{n} \times \frac{\sqrt{n}}{\ln n})=O(\frac{n}{\ln n})\) 个状态。
外加上Min_25 的小常数,稍微松一下可能可以通过。
直接上科技!
集训队论文中有提到过Min_25的 \(O((\frac{n}{\ln n})^\frac{2}{3})\) 的高速实现方法,并且还可以求若干个点的值,即只需要一次就可以解决后面那个\(\sum\) 了。
时间复杂度 \(O(\sqrt{n}+(\frac{n}{\ln n})^\frac{2}{3})\) ,可以轻松通过。
方法二:我会推式子!
设 \(f(n)=\sum\limits^{}_{d|n}\mu(d)\sigma(\frac{n}{d})^2\),那么答案等价于求 \(f\) 的前缀和。
首先不难发现 \(g(n)\) 是一个积性函数,对于这一类函数求前缀和马上可以想到杜教Min_25。
把后面的 \(\sigma\) 拆开,可以得到 \(f(n)=\sum\limits_{d|n}\mu(\frac{n}{d})\prod\limits^{}_{p^{k_{i}}_{i}|d}(k_{i}+1)^2\)
考虑到 \(\mu\) ,它实际上是在做一个容斥,而且它有一个比较优秀的性质,对于 \(\mu(n)\) ,如果存在大于等于两次的质因子,那么它为0。
那么,按照Min_25 的思想,也可以对 \(f(n)\) 后面的东西分类。
具体地说,可以分:
对于 \(f(n)\) ,它有以下两点性质:
-
\(f(p)=3\)
-
\(f(p^k)=2k+1\)
剩下来的,就只按照套路做dp了。
虽然复杂度没有直接推式子的优秀,但是鉴于Min_25的常数非常小,所以还是能非常轻松地跑过去的。
并且可以发现, \(f(n)=\sigma(n^2)\) ,于是可以拿着这种做法再去水三道黑题。

浙公网安备 33010602011771号