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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

BZOJ 2301: [HAOI2011]Problem b

發(fā)布時(shí)間:2024/4/17 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BZOJ 2301: [HAOI2011]Problem b 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

二次聯(lián)通門 :?BZOJ 2301: [HAOI2011]Problem b

?

?

?

?

?

/*BZOJ 2301: [HAOI2011]Problem b莫比烏斯反演 + 容斥將k除下來后就變?yōu)榱艘坏涝}后像求二維前綴和一樣減去重復(fù)計(jì)算的,再加上多減的即可 */ #include <cstdio> #include <iostream>#define rg register #define Max 50007 int p[Max], mu[Max], sm[Max]; bool is[Max]; typedef long long LL; inline LL min (LL a, LL b) { return a < b ? a : b; } inline void read (int &n) {rg char c = getchar ();for (n = 0; !isdigit (c); c = getchar ());for (; isdigit (c); n = n * 10 + c - '0', c = getchar ()); }void Euler (int N) {rg int i, j, k; int C = 0; mu[1] = 1;for (i = 2; i <= N; ++ i){if (!is[i]) p[++ C] = i, mu[i] = -1;for (j = 1; j <= C; ++ j){if ((k = i * p[j]) > N) break;is[k] = true;if (i % p[j] == 0) { mu[k] = 0; break; }else mu[k] = -mu[i];}}for (i = 1; i <= N; ++ i) mu[i] += mu[i - 1]; } LL Z (LL N, LL M) {LL res = 0; rg LL i, j;if (N > M) std :: swap (N, M);for (i = 1; i <= N; i = j + 1){j = min (N / (N / i), M / (M / i));res += (LL) (mu[j] - mu[i - 1]) * (N / i) * (M / i);}return res; } int main (int argc, char *argv[]) {int T, A, B, C, D, K; read (T); rg int i;Euler (Max - 1); LL Answer = 0;for (; T; -- T){read (A), read (B), read (C), read (D), read (K);A = (A - 1) / K, C = (C - 1) / K, B /= K, D /= K;Answer = Z (B, D) - Z (A, D) - Z (C, B) + Z (A, C);printf ("%lld\n", Answer);}return 0; }

?

轉(zhuǎn)載于:https://www.cnblogs.com/ZlycerQan/p/8073672.html

與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的BZOJ 2301: [HAOI2011]Problem b的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。