E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
线性筛
欧拉筛(
线性筛
)
欧拉筛欧拉筛是一种
线性筛
,作用是线性地找出小于等于N的质数。直接看代码理解!
Kiefer_lin
·
2021-02-09 17:21
数据结构与算法
算法
c++
Different Divisors(素数筛/
线性筛
)
官网给的题解大致题意a有至少4个因子,a任一对因子之差大于等于d。求最小a分析我们找到数a的因子,首先1肯定是其因子,必须保证a的所有因子任意两个差值必须大于等于d,假设我们找到两相邻的因子m,n满足差值大于等于d,但是若m或n自身也能分解成更小的因子,那么可能存在他们的子因子的差值不能满足条件,所以我们需要求质因子。我们用素数筛存储质数存到primes[]中,然后在数组中寻找质因子满足条件即可。
diviner_s
·
2021-01-25 18:51
Codeforces
素数筛/线性筛
牛客跨年 最小互质数
线性筛
法
地址时间复杂度O(n)#include#include#include#includeusingnamespacestd;constintmaxn=2e5+5;intprime[maxn];boolvis[maxn];inta[maxn];intfla[maxn];intcnt=0;intmain(){intn;cin>>n;intf=0;for(inti=0;i>x;a[x]=1;if(x==1
是水还是流年
·
2021-01-01 16:31
筛法
唯一分解定理一篇就够了
如果与唯一定理一起应用需要用到素数筛,可以看这篇文章:
线性筛
判断素数唯一分解定理:任何一个大于1的自然数N,如果N不为质数,**那么N可以唯一分解成有限个质数的乘积:这里P11)//prime[i]*prime
JdiLfc
·
2020-11-04 16:26
HDU1695(莫比乌斯反演,
线性筛
初始化,模板)
题意:给你a,b,c,d,k五个值(题目说明了你可以认为a=c=1)x属于[1,b],y属于[1,d]让你求有多少对这样的(x,y)满足gcd(x,y)==k。给你的时间是3000MS。0#include#include#include#defineN100007usingnamespacestd;intmu[N],vis[N],prime[N];voidinit()//获得莫比乌斯函数mu{in
撒旦即可
·
2020-09-17 03:34
#
莫比乌斯反演
#
数论
【莫比乌斯反演最简单的入门题】B.Coprime Integers
来源ICPCPacificNorthwestRegionalContest2018B移步codeforcesgym提交或者vjudge思路真是个傻逼题,但是当时没有学完莫比乌斯init是在用
线性筛
获得莫比乌斯函数的前缀和然后用容斥原理得到解注意溢出前置知识莫比乌斯反演
线性筛
积性函数说明莫比乌斯真是毒瘤
STL_CC
·
2020-09-17 03:32
ACM赛题与杂谈
埃筛,
线性筛
(欧拉筛)
我们知道在求素数时,普通的暴力通常无法满足许多OJ网站的时间复杂度要求,那么自然需要优化,我们求素数时,不妨把不是素数的先标记,剩下的自然就都是素数(直接暴力这里就不写了)。埃塞:#includeusingnamespacestd;#definelllonglongintprime[20000];intlen;intmain(){intn;cin>>n;intbook[20000];memset(
墨韵*
·
2020-09-17 02:54
数论
bzoj2693: jzptab
线性筛
一发+分块枚举D水过。#include#inc
zhouyuyang233
·
2020-09-16 19:32
辣鸡八中
数论
BZOJ 4407: 于神之怒加强版|莫比乌斯反演
可惜神犇都不写blog)提供
线性筛
做法2.16————————————————-一下均设n#include#include#include#include#include#include#include
ws_yzy
·
2020-09-16 19:06
莫比乌斯反演
分块
线性筛
/欧拉筛(模板)
1.线性素数筛intprime[maxn],vis[maxn];intcnt;voidinit(){for(inti=2;i=maxn)break;vis[i*prime[j]]=1;if(i%prime[j]==0)break;}}}2.欧拉函数筛intprime[maxn],vis[maxn],phi[maxn];intcnt;voidinit(){for(inti=2;i=maxn)brea
Mmasker
·
2020-09-16 19:42
BZOJ 4407: 于神之怒加强版 [莫比乌斯反演
线性筛
]
题意:提前给出\(k\),求\(\sum\limits_{i=1}^n\sum\limits_{j=1}^mgcd(i,j)^k\)套路推♂倒\[\sum_{D=1}^n\sum_{d|D}d^k\mu(\frac{D}{d})\frac{n}{D}\frac{m}{D}\]是一个\(g=idk*\mu\)啊,单位幂函数和莫比乌斯函数的卷积!\(g(1)=1\)\(g(p)=-1+p^k\)因为带
weixin_34064653
·
2020-09-16 19:13
BZOJ4407: 于神之怒加强版(莫比乌斯反演
线性筛
)
Description给下N,M,K.求感觉好迷茫啊,很多变换看的一脸懵逼却又不知道去哪里学。一道题做一上午也是没谁了,,首先按照套路反演化到最后应该是这个式子$$ans=\sum_{d=1}^nd^k\sum_{i=1}^{\frac{n}{d}}\frac{n}{di}\frac{m}{di}\mu(i)$$这样就可以$O(n)$计算继续往下推,考虑$\frac{n}{di}\frac{m}{
weixin_33738555
·
2020-09-16 19:01
【bzoj4407】于神之怒加强版 莫比乌斯反演+
线性筛
输出如题样例输入1233样例输出20题解莫比乌斯反演+
线性筛
$\sum\limits_{i=1}^n\sum\limits_{j=1}^m\gcd(i,j)^k\\=\sum\limits_{d=1}^
weixin_30902251
·
2020-09-16 19:55
【BZOJ】【P4407】【于神之怒加强版】【题解】【数论】
id=4407这两天刚好在给学弟讲数论,bzoj上就来了一道裸题……答案就是\sum_DF(D)*n/d*m/dF(D=\sum{d|D}d^Kmu(D/d)
线性筛
,分块求F(p)=p^K-1F(x*p
iamzky
·
2020-09-16 19:16
ACM-ICPC
bzoj2818【莫比乌斯函数】【
线性筛
】
#include#include#include#include#includeusingnamespacestd;typedeflonglongLL;inlineintread(){intx=0;boolf=0;charc=getchar();for(;c'9';c=getchar())f=c=='-'?1:0;for(;c>='0'&&c<='9';c=getchar())x=x*10+c-'
stony_oi
·
2020-09-16 19:39
数论函数
数论
【BZOJ2693】jzptab
题解:第一次学莫比乌斯反演就是死在了这道题上这一次终于啃掉了最后面的那个东西是一个积性函数,
线性筛
的时候计算,需要自己手推一下总结几个小技巧:1.分母不好处理可以想办法弄到分子上去2.枚举一个数的倍数时可以直接用等比
sdfzchy
·
2020-09-16 19:41
数论-莫比乌斯反演
欧拉筛法模板(
线性筛
)
欧拉筛法的原理就是每一个数只能被它最小的质因子删去,并且每个数只删除一次.#include#include#include#include#include#include#definerep(i,a,b)for(inti=a;in)break;//如果判断某一个数时,从某个素数开始>n了,那么乘后面的素数时,一定超出了范围.is_prime[i*prime[j]]=false;//先把满足条件的标
Max_n
·
2020-09-16 19:54
Mathematics
线性筛
模板
吐槽:pptpptppt放不上程序也太尿性了吧......//f为标记数组p为素数数组nex为最小质因子数组voidss(){for(inti=2;i<=n;i++){if(f[i]==0)p[++k]=i,nex[i]=i;for(intj=1;j<=k&&(longlong)i*p[j]<=n;j++){f[i*p[j]]=1;nex[i*p[j]]=p[j];if(i%p[j]==0)bre
滑稽大佬
·
2020-09-16 18:53
线性素筛
模板
bzoj4407 于神之怒加强版(莫比乌斯反演+
线性筛
)
4407:于神之怒加强版TimeLimit:80SecMemoryLimit:512MBSubmit:355Solved:174[Submit][Status][Discuss]Description给下N,M,K.求Input输入有多组数据,输入数据的第一行两个正整数T,K,代表有T组数据,K的意义如上所示,下面第二行到第T+1行,每行为两个正整数N,M,其意义如上式所示。Output如题Sam
lethalboy
·
2020-09-16 18:19
数论
BZOJ4407:于神之怒加强版(
线性筛
)
题面题意:对于给定的k,求∑i=1n∑j=1mgcd(i,j)kn,m,k≤5e6,2000组数据。根据路人试子的推导(倒)方法,我们枚举gcd,得dk完全积性,可以先处理质数的结果,再算出全部。且由于这个完全积性,它卷个μ也可以用同样的方法算出来,然后对于每个询问分块就可以了。#include#include#include#include#include#include#include#inc
KKiseki
·
2020-09-16 18:38
数论
线性筛
2693: jzptab
https://www.cnblogs.com/ljh2000-jump/p/6358095.html这个链接推得和我一样,
线性筛
F函数最后算的时候不能T和F(T)都求前缀和我们可以把F[T]=F[T]
lhq_er
·
2020-09-16 18:06
容斥
Mobius反演
【BZOJ 2818】 GCD
【题目链接】点击打开链接【算法】
线性筛
出不大于N的所有素数,枚举gcd(x,y)(设为p),问题转化为求(x,y)=p的个数设x=x'p,y=y'p,那么有(x,y)=1且1≤x,y≤N/p转化为求(x
even_bao
·
2020-09-16 18:52
欧拉函数
线性筛
数学
bzoj 4407: 于神之怒加强版 (反演+
线性筛
)
题目描述传送门题目大意:∑ni=1∑mj=1gcd(i,j)kmod109+7题解一道非常不错的莫比乌斯反演,想了一晚啊。。。。首先引入反演的两个公式(1)如果F(n)=∑d|nf(n),那么f(n)=∑d|nμ(d)F(nd)(2)如果F(n)=∑n|df(d),那么f(n)=∑n|dμ(dn)∗F(d)那么反演有什么用呢?可以实现F(n),f(n)之间的转换求解,使不易求的式子转化成易求的形式
clover_hxy
·
2020-09-16 18:22
反演
数论
线性筛
法求解积性函数(莫比乌斯函数)
莫比乌斯函数μμμ(n)=⎧⎩⎨1n=1(−1)kn=p1p2…pk0其余情况μ(n)={1n=1(−1)kn=p1p2…pk0其余情况#include#include#include#include#include#definemem(a,b)memset(a,b,sizeof(a))#definelsonrtMAXN)break;check[i*prime[j]]=true;if(i%prim
algzjh
·
2020-09-16 18:50
#
数论
Mobius反演方法
前置知识:建议有一点DirichletDirichletDirichlet卷积的基础,会
线性筛
求积性函数。本文可能会持续更新。可以看我以前在博客园的博客。0.符号及约定1.1.1.
Parsnip
·
2020-09-16 18:44
【BZOJ 2818】Gcd
有个显然的转化∑nx=1∑ny=1[gcd(x,y)==P]=∑⌊n/P⌋x=1∑⌊n/P⌋y=1[gcd(x,y)==1]=2∗∑⌊n/P⌋i=2ϕ(i)+1然后我们
线性筛
出欧拉函数,在前缀和就可以O
Lcomyn
·
2020-09-16 18:04
数论
BZOJ4407:于神之怒加强版 (数论+
线性筛
)
可以得到这个:ans=∑D=1n⌊nD⌋⌊mD⌋∑d|Ddkμ(Dd)ans=∑D=1n⌊nD⌋⌊mD⌋∑d|Ddkμ(Dd)令G(i)=ikG(i)=ik,它是个完全积性函数,可以通过预处理所有质数的GG然后
线性筛
KsCla
·
2020-09-16 18:31
数论
bzoj 2721(
线性筛
)(约数个数)
*(km+1)所以后面枚举每个预先
线性筛
筛出的质数,计算它的k,由于是(n!)^2,所以每一个质数的贡献是ki*2+1,最后乘起来即可。复杂度是个好问题,实测出来大概是
嘉伟森的猫
·
2020-09-16 18:00
OI-数学
Luogu 3383(
线性筛
)
好奇NOIP会不会考用
线性筛
求一个化简过程中遇到的积性函数#include#include#include#includeusingnamespacestd;constintN=1e7+4;intprime
嘉伟森的猫
·
2020-09-16 18:00
OI-模板
OI-数学
BZOJ2818
id=2818题意十分简单数论的一道水题枚举小于n的质数对于每个质数分别乘上互质的数就可得到一组新的数对且该数对的gcd是该质数这让我们想到了欧拉函数首先枚举出小于1e7的质数(
线性筛
法)然后利用筛选法算出所有数的欧拉函数然后前缀和即可当枚举到了一个质数
Gipsyu
·
2020-09-16 17:19
数论
莫比乌斯反演
,并且满足条件,那么我们得到结论在上面的公式中有一个函数,它的定义如下:(1)若,那么(2)若,均为互异素数,那么(3)其它情况下对于函数,它有如下的常见性质:(1)对任意正整数有(2)对任意正整数有
线性筛
选求莫比乌斯反演函数代码
ACdreamers
·
2020-09-16 17:51
数论
bzoj-2693 jzptab
所以g(D)是积性函数
线性筛
裸上就好代码:#include#include#include#defineN10010000#definemod100000009llusingnamespacestd;typedeflonglongll
ww140142
·
2020-09-16 17:40
bzoj
数论
OIer刷题记录
数学(论)里的一些定理(莫比乌斯反演,傅立叶变换,数论变换...)
,并且满足条件,那么我们得到结论在上面的公式中有一个函数,它的定义如下:(1)若,那么(2)若,均为互异素数,那么(3)其它情况下对于函数,它有如下的常见性质:(1)对任意正整数有(2)对任意正整数有
线性筛
选求莫比乌斯反演函数代码
巷中人
·
2020-09-16 17:18
BZOJ2005:能量采集(Mobius反演)
首先,n=∑d|nϕ(d)然后phi(d)可
线性筛
出。∑i=1n∑j=1mgcd(i,j)=∑i=1n∑j=1m∑d|i,d|jϕ(d)=∑dϕ(d)⌊nd⌋⌊md⌋
DZYO
·
2020-09-16 17:18
Mobius反演
Bzoj2820:YY的GCD:莫比乌斯反演
题目链接:YY的GCD公式和上一题一样地推最后得到答案为令T=pd',化简公式得到后面那个sigma可以
线性筛
筛出来,枚举素数贡献答案即可#include#include#include#include
TheWolfWhistlingSong
·
2020-09-16 17:16
OI
数论
莫比乌斯反演
洛谷4449 BZOJ4407 于神之怒加强版 莫比乌斯反演
线性筛
题目链接题意:给定n,m,kn,m,kn,m,k,求∑i=1n∑j=1mgcd(i,j)k\sum_{i=1}^n\sum_{j=1}^mgcd(i,j)^k∑i=1n∑j=1mgcd(i,j)k,有TTT组数据,每组数据的kkk是相同的。T<=2000,n,m,k<=5000000T<=2000,n,m,k<=5000000Tusingnamespacestd;const
forever_shi
·
2020-09-16 17:49
数论
莫比乌斯反演
线性筛
bzoj4407 于神之怒加强版
令x=pd,那么有哎这个式子看起来很和善后面那个好像是积性函数(逃那么
线性筛
就行啦!!!问题是怎么筛呢
aklm45097
·
2020-09-16 17:35
php
【bzoj2693】jzptab【反演】
然后观察到d∑d′|dd′μ(d′)是积性函数,
线性筛
出来即可。
ZMOIYNLP
·
2020-09-16 17:29
bzoj
数论
BZOJ 2693 jzptab 莫比乌斯反演
题目大意:同2154多组数据后面那坨东西由于积性函数的约数和仍是积性函数因此只需要
线性筛
一下就行i%prime[j]==0那部分由于多出来的因数都不是无平方因子数因此μ值都为0增加的只有原先的D/i#include
PoPoQQQ
·
2020-09-16 17:57
BZOJ
莫比乌斯反演
欧拉
线性筛
模板
O(n)求欧拉函数φ(i):inlinevoidlinear_shaker(){boolvis[maxn];memset(vis,false,sizeof(vis));phi[1]=1;for(inti=2;i
嘉伟森的猫
·
2020-09-16 17:25
OI-模板
莫比乌斯反演公式(数论)
转自:http://blog.csdn.net/f_zyj/article/details/51852672莫比乌斯反演公式则莫比乌斯函数µ另一种更常用的形式:在某一个范围内:则
线性筛
法求解/**莫比乌斯反演公式
BBHHTT
·
2020-09-16 17:17
ACM算法规整
数论
莫比乌斯反演公式数论
莫比乌斯进阶:bzoj 3994 约数个数和(Mobius)
传送门题解:简直完美对于求约数个数,可以参看这一篇blog除了
线性筛
,可以O(n√n)求(网上很多博客中就是这么做的),不过有更快的方法,代码复杂度又不高,为啥不用(ง•̀_•́)ง。
嘉伟森的猫
·
2020-09-16 17:57
OI-数学
线性筛
——对i从1取到n gcd(i,n)求和
如果不会
线性筛
素数的话,建议先看这篇博客了解一下
线性筛
素数。
BNUbeginner
·
2020-09-16 02:12
数论
ACM
线性筛
——约数的个数
如果不会
线性筛
素数的话,建议先看这篇博客了解一下
线性筛
素数。
BNUbeginner
·
2020-09-16 02:12
数论
线性筛
——素数
线性筛
素数,可以保证每一个数都是被其最小的质因子筛掉的,所以可以保证时间复杂度在O(n)。算法分析:算法的关键在于第二个for循环的break语句。
BNUbeginner
·
2020-09-16 02:12
数论
莫比乌斯反演
,并且满足条件,那么我们得到结论在上面的公式中有一个函数,它的定义如下:(1)若,那么(2)若,均为互异素数,那么(3)其它情况下对于函数,它有如下的常见性质:(1)对任意正整数有(2)对任意正整数有
线性筛
选求莫比乌斯反演函数代码
XTU_wcb
·
2020-09-15 23:15
数论
51nod(1220 约数之和 推式子反演+
线性筛
+杜教筛)
题目1.学会
线性筛
出d(i):i约数的个数以及dd(i):i所有约数之和。
Helium_wild
·
2020-09-15 03:37
数学==杜教筛
zcmu 1022 Primes on Interval(
线性筛
+二分)
【思路】用
线性筛
法筛出[1,1e6]中的素数,用一个数组cou[i]记录1到i的素数数目,便于进行某个区间素数数目的计算。由于答案具有单调性,考虑用二分判断并输出最小长度l。
芋圆西米露
·
2020-09-15 03:55
【51nod】欧拉函数之和(数论,杜教筛)
文章目录题目分析一个性质尝试递推分块打表
线性筛
欧拉函数一个性质
线性筛
代码题目1239欧拉函数之和分析欧拉函数φ(n)\varphi(n)φ(n)表示小于等于nnn的与nnn互质的数的个数。
ixRic
·
2020-09-15 02:04
----------
数学
----------
#
数论
HDU 5341 Gcd and Lcm
题意:给你一个N,让你求∑i=1n∑j=1n∑k=1n∑l=1nlcm(gcd(i,j),gcd(k,l))参考论文:贾志鹏
线性筛
首先,考虑子问题,求这样一个东西:∑i=1n∑j=1n[(i,j)=d]
acerlawson
·
2020-09-14 18:28
数论
tricks
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他