Divan and Kostomuksha (H version) dp,gcd(2300)
生活随笔
收集整理的這篇文章主要介紹了
Divan and Kostomuksha (H version) dp,gcd(2300)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題意 :
- 如上題,只是aia_iai?的范圍從2?1052*10^52?105變成2?1072*10^72?107
思路 :
- easyversioneasyversioneasyversion的復雜度是O(NlogN)O(NlogN)O(NlogN),瓶頸在于cnt和dp
- 考慮dp[4]dp[4]dp[4]的轉移,它可以從dp[1]dp[1]dp[1]和dp[2]dp[2]dp[2]轉移而來,我們發現顯然從dp[2]dp[2]dp[2]轉移過來一定更優,因為1也是2的約數,dp[2]dp[2]dp[2]是從dp[1]dp[1]dp[1]轉移而來的
- 對于dp[i?j]dp[i*j]dp[i?j],如果j∣ij |ij∣i,從dp[i]dp[i]dp[i]轉移肯定比dp[j]dp[j]dp[j]更優,也就是說dp轉移的循環中第二重循環從“i的所有倍數”優化成了“i的所有質數倍數”,這樣就可以讓每個dp狀態從少得多的狀態轉移過來,且最優的狀態轉移一定包含于其中
- 這樣優化后發現cnt也只需要算出某個數字的質數倍數字的數量,因此這里也可以優化,但cnt求的過程中要注意枚舉順序
總結
以上是生活随笔為你收集整理的Divan and Kostomuksha (H version) dp,gcd(2300)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Divan and Kostomuksh
- 下一篇: First Grid 枚举(100)