【bzoj 3309】 DZY Loves Math

news/2025/1/25 9:21:44/

Description

对于正整数n,定义f(n)为n所含质因子的最大幂指数。例如f(1960)=f(2^3 * 5^1 * 7^2)=3, f(10007)=1, f(1)=0。
给定正整数a,b,求sigma(sigma(f(gcd(i,j)))) (i=1..a, j=1..b)。

Input

第一行一个数T,表示询问数。
接下来T行,每行两个数a,b,表示一个询问。

Output

对于每一个询问,输出一行一个非负整数作为回答。

Sample Input

4
7558588 9653114
6514903 4451211
7425644 1189442
6335198 4957

Sample Output

35793453939901
14225956593420
4332838845846
15400094813

HINT

【数据规模】

T<=10000

1<=a,b<=10^7


这道题是可以用莫比乌斯反演,下面是程序:

#include<stdio.h>
#include<string.h>
#include<iostream>
using namespace std;
const int N=1e7+5;
bool z[N];
int p[N],g[N],mn[N],a[N],l;
void work(){int i,j,tp;for(i=2;i<=1e7;i++){if(!z[i]){a[i]=p[++l]=i;mn[i]=g[i]=1;}for(j=1;(tp=i*p[j])<=1e7&&j<=l;j++){z[tp]=1;if(!(i%p[j])){mn[tp]=mn[i]+1;a[tp]=a[i]*p[j];if(i==a[i]){g[tp]=1;}else{g[tp]=(mn[tp]==mn[i/a[i]]?-g[i/a[i]]:0);}break;}mn[tp]=1;a[tp]=p[j];g[tp]=(mn[i]==1?-g[i]:0);}}for(i=1;i<=1e7;i++){g[i]+=g[i-1];}
}
long long f(int a,int b){int i,last;long long s=0;if(a>b){swap(a,b);}for(i=1;i<=a;i=last+1){last=min(a/(a/i),b/(b/i));s+=(long long)(g[last]-g[i-1])*(a/i)*(b/i);}return s;
}
int main(){work();int t,a,b;scanf("%d",&t);while(t--){scanf("%d%d",&a,&b);printf("%lld\n",f(a,b));}return 0;
}


http://www.ppmy.cn/news/443445.html

相关文章

3309: DZY Loves Math 莫比乌斯反演

令 F(i) 表示 i 所含质因子最大幂指数,f(i)表示 gcd(x,y)i 的数对 (x,y) 的数量&#xff0c;然后莫比乌斯反演得到下式&#xff1a; Ans∑T1n⌊nT⌋⌊mT⌋∑d∣TF(d)μ(Td) 令 G(T)∑d∣TF(d)μ(Td) &#xff0c;然后我们大力讨论一下。 首先设 TPx11Px22..Pxkk,dPy11Py22..…

【BZOJ3309】DZY Loves Math 解题报告

【BZOJ3309】DZY Loves Math Description 对于正整数\(n\)&#xff0c;定义\(f(n)\)为\(n\)所含质因子的最大幂指数。例如\(f(1960)f(2^35^17^2)3\),\(f(10007)1\),\(f(1)0\)。 给定正整数\(a,b\)&#xff0c;求\(\sum\limits_{a_i1}\sum\limits_{b_j1}f(\gcd(i,j))\)。 Input …

【BZOJ3309】DZY Loves Math

3309: DZY Loves Math Time Limit: 20 Sec Memory Limit: 512 MB Submit: 411 Solved: 161 [Submit][Status][Discuss] Description 对于正整数n&#xff0c;定义f(n)为n所含质因子的最大幂指数。例如f(1960)f(2^3 * 5^1 * 7^2)3, f(10007)1, f(1)0。 给定正整数a,b&…

HYSBZ - 3309 D - DZY Loves Math(莫比乌斯反演+组合思想+DP思想)*好题。。。

题目链接&#xff1a;https://cn.vjudge.net/problem/HYSBZ-3309 #include<bits/stdc.h> using namespace std;#define debug puts("YES"); #define rep(x,y,z) for(int (x)(y);(x)<(z);(x)) #define read(x,y) scanf("%d%d",&x,&y) #de…

SCP-bzoj-3309

项目编号&#xff1a;bzoj-3309 项目等级&#xff1a;Safe 项目描述&#xff1a; 戳这里 特殊收容措施&#xff1a; 以下用\((x, y)\)表示\(gcd(x, y)\)。 \[ ans \sum _ {i 1} ^ {a} \sum _ {j 1} ^ {b} f((i, j)) \sum _ {g 1} ^ {min(a, b)} f(g) \sum _ {i 1} ^ {\lf…

P3309-[SDOI2014]向量集【线段树,凸壳】

正题 题目链接:https://www.luogu.com.cn/problem/P3309 题目大意 n n n个操作 在序列末尾加入一个向量 ( x , y ) (x,y) (x,y)询问加入的第 l ∼ r l\sim r l∼r个向量中的一个向量和 ( x , y ) (x,y) (x,y)的点积最大值 强制在线&#xff0c;点积的定义为 x 1 x 2 y 1 y …

HDU 3309

题目&#xff1a;http://acm.hdu.edu.cn/showproblem.php?pid3309 模型很容易发现是BFS。。但是模拟过程还是蛮蛋疼的。 我是分成两种方式BFS的。一种是 两个球一起走&#xff0c;另一种是 一个球单独跑&#xff08;另外一个球已经进坑&#xff09;。最好开两个4维的标记数组…

BZOJ 3309 DZY Loves Math

题目链接 https://lydsy.com/JudgeOnline/problem.php?id3309 题解 莫比乌斯反演 ∑ i 1 n ∑ j 1 m f ( gcd ⁡ ( i , j ) ) ∑ T 1 min ⁡ ( n , m ) ⌊ n T ⌋ ⌊ m T ⌋ ∑ d ∣ T μ ( T d ) f ( d ) \begin{aligned} &amp; \sum_{i1}^n \sum_{j1}^m f(\gcd(…