
ACM/ICPC_莫比乌斯反演/线形筛
just_sort
Acdream.
展开
-
BZOJ 1101: [POI2007]Zap 莫比乌斯反演
Description FGD正在破解一段密码,他需要回答很多类似的问题:对于给定的整数a,b和d,有多少正整数对x,y,满足x<=a ,y<=b,并且gcd(x,y)=d。作为FGD的同学,FGD希望得到你的帮助。 Input 第一行包含一个正整数n,表示一共有n组询问。(1<=n<= 50000)接下来n行,每行表示一个询问,每行三个 正整数,分别为a,b,d。(1<=d<=a,b<=原创 2017-02-04 21:55:04 · 442 阅读 · 0 评论 -
BZOJ 3288: Mato矩阵 行列式,线性筛
Description Mato同学最近正在研究一种矩阵,这种矩阵有n行n列第i行第j列的数为gcd(i,j)。 例如n=5时,矩阵如下:1 1 1 1 1 1 2 1 2 1 1 1 3 1 1 1 2 1 4 1 1 1 1 1 5Mato想知道这个矩阵的行列式的值,你能求出来吗?Input一个正整数n mod1000000007 Outputn行n列的Mato矩阵的行列式。Sam原创 2017-05-12 20:30:57 · 529 阅读 · 0 评论 -
BZOJ 2818: Gcd 线形筛
Description给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的 数对(x,y)有多少对. Input 一个整数N Output 如题 Sample Input 4 ample Output 4解法:才发现直接莫比乌斯反弹T到哭。。。我们注意到,Gcd(x,y)=p,那么就有Gcd(x/p,y/p)=1!于是我们枚举每个p,设F[i]为i以内互质数对的个数那么F[i原创 2017-05-12 19:52:37 · 383 阅读 · 0 评论 -
BZOJ 1409: Password 线性筛+矩阵乘法
DescriptionRivest是密码学专家。近日他正在研究一种数列E = {E[1],E[2],……,E[n]}, 且E[1] = E[2] = p(p为一个质数),E[i] = E[i-2]*E[i-1] (若小i<=n)。例如{2,2,4,8,32,256,8192,……}就是p = 2的数列。在此基础上他又设计了一种加密算法,该算法可以通过一个密钥q (q < p)将一个正整数n加密成另原创 2017-05-12 15:27:53 · 575 阅读 · 0 评论 -
BZOJ 2820 YY的GCD 莫比乌斯反演
题意:求有多少个数对(x,y),使得x<=m,y<=n且GCD(x,y)为质数解法:具体去见ACdream的博客里面讲的还是很详细的 这里///BZOJ 2820#include <bits/stdc++.h> using namespace std; const int maxn = 10000000; typedef long long LL; bool mark[10000005]; int原创 2017-05-12 14:07:56 · 636 阅读 · 0 评论 -
BZOJ 2440. -- [中山市选2011]完全平方数 莫比乌斯函数,二分答案
[Submit][Status][Discuss] Description小 X 自幼就很喜欢数。但奇怪的是,他十分讨厌完全平方数。他觉得这些 数看起来很令人难受。由此,他也讨厌所有是完全平方数的正整数倍的数。然而 这丝毫不影响他对其他数的热爱。 这天是小X的生日,小 W 想送一个数给他作为生日礼物。当然他不能送一 个小X讨厌的数。他列出了所有小X不讨厌的数,然后选取了第 K个数送给了原创 2017-05-11 20:13:35 · 426 阅读 · 0 评论 -
BZOJ 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 In原创 2017-05-11 15:57:09 · 354 阅读 · 0 评论 -
HDU 1695 GCD 莫比乌斯,容斥原理
题意:求(1,b)区间和(1,d)区间里面gcd(x, y) = k的数的对数(1<=x<=b , 1<= y <= d)。 解法1:b和d分别除以k之后的区间里面,只需要求gcd(x, y) = 1就可以了,这样子求出的数的对数不变。这道题目还要求1-3 和 3-1 这种情况算成一种,因此只需要限制x//HDU 1695 312ms #include <bits/stdc++.h> using原创 2017-03-01 16:07:26 · 434 阅读 · 0 评论 -
CF 776E 欧拉函数
题目链接:这里 题意:如题。 解法:对于f(n),若自然数对(x,y)满足 x+y=n,且gcd(x,y)=1,则这样的数对对数为f(n) 证明f(n)=phi(n) 设有命题 对任意自然数x满足x < n,gcd(x,n)=1等价于gcd(x,y)=1 成立,则该式显然成立,下面证明这个命题。 假设gcd(x,y)=1时,gcd(x,n)=k!=1,则n=n’k,x=x’k,g原创 2017-03-07 15:17:02 · 1815 阅读 · 0 评论 -
HDU - 4676 Sum Of Gcd 莫比乌斯+莫队
题目链接 : 点这里 题意:给了一个数列a,然后给了一个区间[L, R],然后要求 sigma(gcd(i, j)), L <= i < j <= R。 解题方法: 令g(l, r) = sigma(gcd(i, j)), L <= i < j <= R.举个栗子,当a[L:R] = {4, 5, 8}时, 答案是1 + 1 + 4 = 6。由于最大公约数本身的定义,我们可以猜想多个数的gcd原创 2017-02-22 19:33:05 · 983 阅读 · 0 评论 -
BZOJ 2813: 奇妙的Fibonacci 线性筛
DescriptionFibonacci数列是这样一个数列: F1 = 1, F2 = 1, F3 = 2 … Fi = Fi-1 + Fi-2 (当 i >= 3) pty忽然对这个古老的数列产生了浓厚的兴趣,他想知道:对于某一个Fibonacci数Fi, 有多少个Fj能够整除Fi (i可以等于j),他还想知道所有j的平方之和是多少。Input第一行一个整数Q,表示Q个询问。第二行四个整数原创 2017-05-15 10:45:27 · 413 阅读 · 0 评论