BZOJ - 2818 莫比乌斯反演 初步】的更多相关文章

要使用分块的技巧 #include<iostream> #include<algorithm> #include<cstdio> #include<cstring> #include<cstdlib> #include<cmath> #include<string> #include<vector> #include<stack> #include<queue> #include<…
题目传送门 http://www.lydsy.com/JudgeOnline/problem.php?id=2154 人生中第一道自己做出来的莫比乌斯反演 人生中第一篇用LaTeX写数学公式的博客 大家别看公式多就害怕了啊,这里面的公式大多是很显然的 首先,题目要我们求 $\Large\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}lcm(i,j)$ 这个$lcm$很不好办,我们想办法转化成$gcd$,然后尝试搞莫比乌斯反演的套路 那么因为 $\Large l…
题目链接 https://www.lydsy.com/JudgeOnline/problem.php?id=3309 题意:定义f(n)为n所含质因子的最大幂指数,求 $Ans=\sum _{i=1}^{a}\sum_{j=i}^{b}f(gcd(i,j))$ T<=10000 1<=a,b<=10^7 解析:考虑a<b 枚举最大公约数d,得到: $$Ans=\sum_{d=1}^a f(d)\sum_{i=1}^{\lfloor\frac{a}{d}\rfloor}\sum_{j…
2301: [HAOI2011]Problem b Description 对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数.   Input 第一行一个整数n,接下来n行每行五个整数,分别表示a.b.c.d.k Output 共n行,每行一个整数表示满足要求的数对(x,y)的个数 Sample Input 2 2 5 1 5 1 1 5 1 5 2   Sample Output 14 3此题作为…
题目大意: 表格中每一个位置(i,j)填的值是lcm(i,j) , 求n*m的表格值有多大 论文贾志鹏线性筛中过程讲的很好 最后的逆元我利用的是欧拉定理求解的 我这个最后线性扫了一遍,勉强过了,效率不是很高... /*bzoj 2154*/ #include <bits/stdc++.h> using namespace std; #define ll long long #define N 10000000 ; ] , prime[N+] , f[N+] , tot; ]; void ini…
对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数. 这里题目意思很明显 对于要求的f[n] = sigma (a≤x≤b) sigma(c≤y≤d) [gcd(x,y)=k] =  sigma (1≤x≤b) sigma(1≤y≤d) [gcd(x,y)=k] + sigma (1≤x≤a-1) sigma(1≤y≤c-1) [gcd(x,y)=k] - sigma (1≤x≤a-1) sigma(…
最裸的莫比乌斯 #include<bits/stdc++.h> #define LL long long #define fi first #define se second #define mk make_pair #define pii pair<int, int> using namespace std; ; ; const int inf = 0x3f3f3f3f; const LL INF = 0x3f3f3f3f3f3f3f3f; ; int p[N], is[N],…
搞了一整个晚自习,只是看懂了dalao们的博客,目前感觉没有思路-.还是要多切题 next day: 刚才又推了一遍,发现顺过来了,hahaha #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #include<cmath> using namespace std; const int N=10000000; long long ans,f[N+5…
链接 题意很简洁不说了 题解:一开始我想直接暴力,复杂度是O(log(1e7)*sqrt(1e7))算出来是2e9,可能会复杂度爆炸,但是我看时限是10s,直接大力莽了一发暴力,没想到就过了= = 就是先打出1e7的素数表,然后挨个算即可 //#pragma comment(linker, "/stack:200000000") //#pragma GCC optimize("Ofast,no-stack-protector") //#pragma GCC targ…
Calc Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 451  Solved: 234[Submit][Status][Discuss] Description 给出N,统计满足下面条件的数对(a,b)的个数: 1.1<=a<b<=N 2.a+b整除a*b Input 一行一个数N Output 一行一个数表示答案 Sample Input 15 Sample Output 4 HINT 数据规模和约定 Test N Test N 1…