日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Divan and Kostomuksha (H version) dp,gcd(2300)

發布時間:2025/3/19 编程问答 10 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 |iji,從dp[i]dp[i]dp[i]轉移肯定比dp[j]dp[j]dp[j]更優,也就是說dp轉移的循環中第二重循環從“i的所有倍數”優化成了“i的所有質數倍數”,這樣就可以讓每個dp狀態從少得多的狀態轉移過來,且最優的狀態轉移一定包含于其中
  • 這樣優化后發現cnt也只需要算出某個數字的質數倍數字的數量,因此這里也可以優化,但cnt求的過程中要注意枚舉順序
#include <iostream> #include <algorithm> #include <cstring> #include <vector> #include <unordered_set> #include <math.h> #define endl '\n' #define fi first #define se second #define pb push_backusing namespace std; using ll = long long;typedef pair<int, int> PII;const int N = 2e7 + 10;ll a[N], cnt[N]; ll dp[N]; int primes[N / 10], idx; bool st[N];void get_primes(int n) {st[0] = st[1] = true;for (int i = 2; i <= n; i ++ ){if (!st[i]) primes[idx ++ ] = i;for (int j = 0; i * primes[j] <= n; j ++ ){st[i * primes[j]] = true;if (i % primes[j] == 0) break;}} }int main() {cin.tie(nullptr) -> sync_with_stdio(false);get_primes(N - 1);int n; cin >> n;for (int i = 1, x; i <= n && cin >> x; i ++ ) ++ cnt[x];for (int i = 0; i < idx; i ++ )for (int j = (N - 1) / primes[i] ; j >= 1; j -- )cnt[j] += cnt[primes[i] * j];dp[1] = n;ll ans =0 ;for (int i = 1; i < N ; i ++ ){for (int j = 0; primes[j] * i < N; j ++ ){int ij = i * primes[j];dp[ij] = max(dp[ij], dp[i] + (ij - i) * cnt[ij]);}ans = max(ans, dp[i]);}cout << ans << endl;return 0; }

總結

以上是生活随笔為你收集整理的Divan and Kostomuksha (H version) dp,gcd(2300)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。