达达正在破解一段密码,他需要回答很多类似的问题: 对于给定的整数a,b和d,有多少正整数对x,y,满足x<=a,y<=b,并且gcd(x,y)=d. 作为达达的同学,达达希望得到你的帮助. 输入格式 第一行包含一个正整数n,表示一共有n组询问. 接下来n行,每行表示一个询问,每行三个正整数,分别为a,b,d. 输出格式 对于每组询问,输出一个正整数,表示满足条件的整数对数. 数据范围 1≤n≤500001≤n≤50000,1≤d≤a,b≤500001≤d≤a,b≤50000 输入样例: 2 4…
传送门 思路:gcd(a,b)=k<=>gcd(a/k,b/k)=1,令x=a/k,y=b/k,则问题变为问x<=a/d,y<=b/d有多少(x,y)满足gcd(x,y)=1. 这个问题可以用容斥原理求解,令全集为所有(x,y),性质为p[i]|gcd(x,y),p[i]为质数,那么答案就是所有p[i]|gcd(x,y)的并集的补集,显然全集为x*y,计算补集时就是满足的(x,y)个数,容易发现这一项在最终的式子中的系数就是 而满足k|gcd(x,y)的(x,y)数量为(x/k)*…
Code: #pragma GCC optimize(2) #include<bits/stdc++.h> #define setIO(s) freopen(s".in","r",stdin) #define maxn 1000006 #define M 1000004 #define ll long long using namespace std; char *p1,*p2,buf[100000]; #define nc() (p1==p2&…
题意:求sigma{lcm(i,j)},1<=i<=n,1<=j<=m 不妨令n<=m 首先把lcm(i,j)转成i*j/gcd(i,j) 正解不会...总之最后化出来的莫比乌斯反演式子并没有除法- 本脑子有坑选手的做法:20101009是一个质数,而且n和m的范围小于20101009,这一定有其原因.经过仔细思考,我们发现这保证了每个1~n的数都有mod20101009意义下的乘法逆元.用inv[x]表示x的逆元,我们发现原先的式子等于sigma{inv[gcd(i,j)]…
莫比乌斯反演也是反演定理的一种 既然我们已经学了二项式反演定理 那莫比乌斯反演定理与二项式反演定理一样,不求甚解,只求会用 莫比乌斯反演长下面这个样子(=・ω・=) d|n,表示n能够整除d,也就是d是n的所有因子 μ(x)是莫比乌斯函数,它是这样计算的 μ(1) = 1 x = p1 * p2 * p3 ……*pk(x由k个不同的质数组成)则μ(x) = (-1)^k 其他情况,μ (x) = 0 比如 30 = 2 * 3 * 5 μ(30) = (-1)^3 4 = 2 * 2 μ(4)…
数字表格 Time Limit: 50 Sec  Memory Limit: 128 MB[Submit][Status][Discuss] Description Doris刚刚学习了fibonacci数列.用f[i]表示数列的第i项,那么 f[0]=0 f[1]=1 f[n]=f[n-1]+f[n-2],n>=2 Doris用老师的超级计算机生成了一个n×m的表格,第i行第j列的格子中的数是f[gcd(i,j)],其中gcd(i,j)表示i,j的最大公约数.Doris的表格中共有n×m个数,…
易得 $\sum\limits_{g=1}^{n} g \sum\limits_{k=1}^{n} \mu(k) \lfloor\frac{n}{gk}\rfloor \lfloor\frac{n}{gk}\rfloor $ 记 \(T=gk\) 枚举 \(T\) ,注意这里既然满足 \(T=gk\) 要保证两个乘起来确实是 \(T\) ,选择把 \(k\) 换成 $\frac{T}{g} $ . $\sum\limits_{T=1}^{n} \lfloor\frac{n}{T}\rfloor…
用mu写lcm那道卡常卡成狗(然而最后也没卡过去,于是写一下gcd冷静一下 首先推一下式子 \[ \sum_{i=1}^{n}\sum_{j=1}^{n}gcd(i,j) \] \[ \sum_{i=1}^{n}\sum_{j=1}^{n}\sum_{d=1}^{n}[gcd(i,j)==d]d \] \[ \sum_{d=1}^{n}d\sum_{i=1}^{n}\sum_{j=1}^{n}[gcd(i,j)==d] \] \[ \sum_{d=1}^{n}d\sum_{i=1}^{\left…
时光匆匆,转眼间又是一年寒暑…… 这是小 Q 同学第二次参加省队选拔赛. 今年,小 Q 痛定思痛,不再冒险偷取试题,而是通过练习旧 试题提升个人实力.可是旧试题太多了,小 Q 没日没夜地做题,却看不到前方的光明在哪里. 一天,因做题过度而疲惫入睡的小 Q 梦到自己在考场上遇到了一道好像做过的题目,却怎么也想不 起曾经自己是怎么解决它的,直到醒来还心有余悸. 小 Q 眉头一皱,感觉事情不妙,于是他找到了你,希望你能教他解决这道题目.小 Q 依稀记得题目 要计算如下表达式的值 $({\sum_{i=…
题目描述 对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数. 输入输出格式 输入格式: 第一行一个整数n,接下来n行每行五个整数,分别表示a.b.c.d.k 输出格式: 共n行,每行一个整数表示满足要求的数对(x,y)的个数 输入输出样例 输入样例#1: 复制 2 2 5 1 5 1 1 5 1 5 2 输出样例#1: 复制 14 3 说明 100%的数据满足:1≤n≤50000,1≤a≤b≤500…
Part0 广告(当然没有广告费) P.S. 这篇文章是边学着边用Typora写的...学完了题A了blog也就呼之欲出了~有latex化式子也非常方便...非常建议喜欢Markdown的dalao们下载个~ Part1 莫比乌斯函数&&莫比乌斯反演 最近一直在做数论不是OvO 然后就一直有莫比乌斯反演这个坑没有填OvO 其实PoPoQQQ的课件已经看过不少遍了OvO 但是数论这东西不动手化式子还是不行的OvO 或许是我菜? 没错,莫比乌斯就是发现那个奇怪的扭曲的环的男人... 对于两个函…
学了莫比乌斯反演之后对初阶问题没有任何问题了,除法分块也码到飞起,但是稍微变形我就跪了.用瞪眼观察法观察别人题解观察到主要内容除了柿子变形之外,主要就是对于miu函数的操作求前缀和.进而了解miu函数,miu函数是在这个数是否有平方因子的个数,每次推的套路是先用欧拉筛筛出来所有需要的函数,然后用每次需要用到的函数进行累计迭代加到前缀和,二次过筛,然后堆起来前缀和,用除法分块就行了,这个方法屡试不爽. 两道题,一道是洛谷P2257 YY的GCD 这道题求的是1-n和1-m区间内gcd为质数的个数,…
不学莫反,不学狄卷,就不能叫学过数论 事实上大概也不是没学过吧,其实上赛季头一个月我就在学这东西,然鹅当时感觉没学透,连杜教筛复杂度都不会证明,所以现在只好重新来学一遍了(/wq 真·实现了水平的负增长((( 1. \(\mu\) 与 \(\varphi\) 真就从头开始呗 对于整数 \(n=p_1^{\alpha_1}\times p_2^{\alpha_2}\times\cdots\times p_k^{\alpha_k}\),定义莫比乌斯函数 \(\mu(n)\) 为: \[\mu(n)=…
题意:求(1,b)区间和(1,d)区间里面gcd(x, y) = k的数的对数(1<=x<=b , 1<= y <= d). 知识点: 莫比乌斯反演/*12*/ 线性筛求莫比乌斯反演函数: void Init() { memset(vis,0,sizeof(vis)); mu[1] = 1; cnt = 0; for(int i=2; i<N; i++) { if(!vis[i]) { prime[cnt++] = i; mu[i] = -1; } for(int j=0;…
2154: Crash的数字表格 Time Limit: 20 Sec  Memory Limit: 259 MBSubmit: 2924  Solved: 1091[Submit][Status][Discuss] Description 今天的数学课上,Crash小朋友学习了最小公倍数(Least Common Multiple).对于两个正整数a和b,LCM(a, b)表示能同时被a和b整除的最小正整数.例如,LCM(6, 8) = 24.回到家后,Crash还在想着课上学的东西,为了研究…
2301: [HAOI2011]Problem b Time Limit: 50 Sec  Memory Limit: 256 MBSubmit: 4032  Solved: 1817[Submit][Status][Discuss] 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 Outp…
模板: int p[MAXN],pcnt=0,mu[MAXN]; bool notp[MAXN]; void shai(int n){ mu[1]=1; for(int i=2;i<=n;++i){ if (notp[i]==0){ p[++pcnt]=i; mu[i]=-1; } for (int j=1,t=p[j]*i;j<=pcnt&&t<=n;++j,t=p[j]*i){ notp[t]=1; if (i%p[j]==0){ mu[i]=0; break; }e…
2440: [中山市选2011]完全平方数 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 2371  Solved: 1143[Submit][Status][Discuss] Description 小 X 自幼就很喜欢数.但奇怪的是,他十分讨厌完全平方数.他觉得这些数看起来很令人难受.由此,他也讨厌所有是完全平方数的正整数倍的数.然而这丝毫不影响他对其他数的热爱. 这天是小X的生日,小 W 想送一个数给他作为生日礼物.当然他不能送一个小X讨厌…
题意:http://hzwer.com/4205.html 同hdu1695 #include <iostream> #include <cstring> #include <cmath> #include <cstdio> using namespace std; #define LL long long #define MMX 50010 int mu[MMX],msum[MMX]; LL n; bool check[MMX]; int prime[MM…
Code Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 300    Accepted Submission(s): 124 Problem Description WLD likes playing with codes.One day he is writing a function.Howerver,his computer b…
题目大意: 一.有多少个有序数对(x,y)满足1<=x<=A,1<=y<=B,并且gcd(x,y)为p的一个约数: 二.有多少个有序数对(x,y)满足1<=x<=A,1<=y<=B,并且gcd(x,y)为p的一个倍数. 第一行两个数:p和q.(1<p<10^7 ,1<q<1000.) 接下来有q行,每行两个数A和B.(1<A,B<10^7) 我们先考虑第二个问题 ,很简单答案就是 (A/p) * (B/p) , 因为从p开…
传送门 看了1个多小时,终于懂了一点了 题目大意:给n,m,k.求gcd(x,y) = k(1<=x<=n, 1<=y<=m)的个数 思路:令F(i)表示i|gcd(x,y)的(x,y)的对数,显然F(x)=[nx]∗[mx]. 设f(x)为gcd(x,y)=x的对数. 因为F(x)=∑i|xf(i),所以我们可以莫比乌斯反演它. 根据公式f(x)=∑x|dμ(d)F(d) 我们的目标就是f(1)(因为n和m都可以除以k) 所以我们就可以在O(n)的时间复杂度内求出答案了. #in…
GCD Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4291    Accepted Submission(s): 1502 Problem Description Given 5 integers: a, b, c, d, k, you're to find x in a...b, y in c...d that GCD(x, y)…
莫比乌斯反演真(TMD)难学.我自看了好长时间. BZOJ 2820: YY的GCD Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 1384  Solved: 718 Description 神犇YY虐完数论后给傻×kAc出了一题给定N, M,求1<=x<=N, 1<=y<=M且gcd(x, y)为质数的(x, y)有多少对kAc这种 傻×必然不会了,于是向你来请教……多组输入 Input 第一行一个整数T 表述数据组数接下来T行,…
4407: 于神之怒加强版 Time Limit: 80 Sec  Memory Limit: 512 MBSubmit: 241  Solved: 119[Submit][Status][Discuss] Description 给下N,M,K.求 Input 输入有多组数据,输入数据的第一行两个正整数T,K,代表有T组数据,K的意义如上所示,下面第二行到第T+1行,每行为两个正整数N,M,其意义如上式所示. Output 如题 Sample Input 1 23 3 Sample Outpu…
莫比乌斯反演:可参考论文:<POI XIV Stage.1 <Queries>解题报告By Kwc-Oliver> 求莫比乌斯函数mu[i]:(kuangbin模板) http://www.cnblogs.com/kuangbin/archive/2013/08/21/3273440.html void Moblus() { memset(check,false,sizeof(check)); mu[] = ; ; ; i <= MMX; i++) { if( !check[…
GCD SUM Time Limit: 8000/4000MS (Java/Others)Memory Limit: 128000/64000KB (Java/Others) SubmitStatisticNext Problem Problem Description 给出N,M执行如下程序:long long  ans = 0,ansx = 0,ansy = 0;for(int i = 1; i <= N; i ++)   for(int j = 1; j <= M; j ++)     …
SPOJ Problem Set (classical) 7001. Visible Lattice Points Problem code: VLATTICE Consider a N*N*N lattice. One corner is at (0,0,0) and the opposite one is at (N,N,N). How many lattice points are visible from corner at (0,0,0) ? A point X is visible…
CO-PRIME 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 This problem is so easy! Can you solve it? You are given a sequence which contains n integers a1,a2……an, your task is to find how many pair(ai, aj)(i < j) that ai and aj is co-prime.   输入 There are mu…
在你以为理解mobus的时候,苦苦想通过化简公式来降低复杂度时,这题又打了我一巴掌. 看来我并没有理解到acmicpc比赛的宗旨啊. 这么多次查询可以考虑离线操作,使用树状数组单点更新. /************************************************************** Problem: 3529 User: chenhuan001 Language: C++ Result: Accepted Time:5264 ms Memory:8412 kb *…