【UOJ#188】Sanrd(min_25筛)
生活随笔
收集整理的這篇文章主要介紹了
【UOJ#188】Sanrd(min_25筛)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【UOJ#188】Sanrd(min_25篩)
題面
UOJ
題解
今天菊開講的題目。(千古神犇陳菊開,撲通撲通跪下來)
題目要求的就是所有數的次大質因子的和。
這個部分和\(min\_25\)篩中枚舉最小值因子有異曲同工之妙。
min_25篩什么的戳這里
并且這題并沒有積性函數。
所以我們先篩出質數個數。
然后考慮如何計算答案\(S(n,1)\)
首先看初值,假設當前計算的是\(S(x,y)\)
表示的是\([1,x]\)中,所有最小質因子大于等于\(Prime_y\)的貢獻
所有質數的貢獻顯然是\(0\),我們考慮計算合數的答案。
枚舉最小質因子以及這個質因子的次冪,在只剩下兩個質因子的時候統計答案。
既然只剩下兩個質因子,那么需要計算的就是\(x\)中所有大于等于\(Prime_y\)的質數。
因為\(S(x,y)\)一定右\(S(?,y-1)\)轉移過來
那么它的次小質因子就是\(Prime_{y-1}\),直接計算即可。
還需要額外考慮\(p^k\)的貢獻就是\(p\)
轉載于:https://www.cnblogs.com/cjyyb/p/9269389.html
總結
以上是生活随笔為你收集整理的【UOJ#188】Sanrd(min_25筛)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 远程登录-出现身份验证错误[可能是由于C
- 下一篇: 软件测试技术 homework2