UOJ188【UR #13】Sanrd (Min_25筛)
这里 题意:说白了就是求这个 ∑ i = 1 n p s m a x ( i ) \sum_{i=1}^{n}p_{smax}(i) ∑ i = 1 n p s m a x ( i ) 其中 p s m a x p_{smax} p s m a x 表示次小质因子,规定1和质数的次小质因子为0 做法:这道题是一道min25筛法的题,但不过不是普通的积性函数求和,需要对该算法有一定的理解。 首先我们还是以 s ( n , j ) s(n,j) s ( n , j ) 表示在 1 − n 1-n 1 − n 范围内最小质因子不小于 p j p_j p j 的和。 对于质数部分没有贡献为0,对于合数部分我们枚举最小质因子 p j p_j p j 的幂次,那么合数分为两部分,一部分 p j k p l ( l > j ) , p j k x p_{j}^{k}p_{l}(l>j),p_{j}^{k}x p j k p l ( l > j ) , p j k x ,这两部分中前一部分的答案为 p j p_{j} p j ,后一部分的答案 x x x 这个合数的答案,因此 s ( n , j ) = ∑ k = j ∣ p ∣ ∑ e = 1 n ( s ( n / p j k , k + 1 ) + p k ∑ x = p k n i s p r i m