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个数的约数个数
先来最基本的
线性筛
素数,以后的算法其实都是基于这个最基本的算法: 1 #include<stdio.h> 2 #include<string.h
·
2015-10-21 10:08
函数
poj3518
线性筛
法可以过 #include <iostream> #include <cstdio> #include <cstring> #include
·
2015-10-21 10:31
poj
一般筛法求素数+快速
线性筛
法求素数
一般的
线性筛
法首先先介绍一般的
线性筛
法求素数[cpp]vie
Genskyuine
·
2015-10-12 20:48
数学
【bzoj2982】 combination LUCAS定理
线性筛
逆元+lucas定理,没什么难的,只是要注意算阶乘的时候只能算到mod-1,否则会出0。
u012288458
·
2015-09-21 13:00
Bear and Prime Numbers(
线性筛
素数)
题目分析:直接
线性筛
素数,记录每个数最大的素因数,然后统计对于每个素因数对应的f(pi),然后求取前缀和,来方便求取区间和。
qq_24451605
·
2015-09-15 23:00
codeforces
线性筛素数
素数的
线性筛
选
出处:http://www.cnblogs.com/Lyush/archive/2012/08/06/2625510.html
线性筛
选法之所以称之为线性就是因为其对于每一个合数只用其最小的素因子将其筛选出来
cnyali
·
2015-09-13 22:00
BZOJ 1607([Usaco2008 Dec]Patting Heads 轻拍牛头-
线性筛
)
1607:[Usaco2008Dec]PattingHeads轻拍牛头TimeLimit: 3Sec MemoryLimit: 64MBSubmit: 1152 Solved: 601[Submit][Status][Discuss]Description 今天是贝茜的生日,为了庆祝自己的生日,贝茜邀你来玩一个游戏. 贝茜让N(1≤N≤100000)头奶牛坐成一个圈.除了1号与N号奶牛
nike0good
·
2015-09-11 01:00
HDU 1215 七夕节(因子和)
definemaxn500005 intmark[maxn],prime[maxn],cnt;//prime存储素数,从0开始,mark[i]表示i的最小素因数 voidGet_Prime(intn)//素数
线性筛
法
V5ZSQ
·
2015-09-04 08:00
hdu 1695 GCD (欧拉函数+容斥原理+
线性筛
法)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1695GCDTimeLimit:6000/3000MS(Java/Others) MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):7605 AcceptedSubmission(s):2801ProblemDescriptionGi
theArcticOcean
·
2015-08-26 20:00
欧拉函数
HDU
容斥原理
筛法
例题2.9 最大公约数之和 UVa11426
1.题目描述:点击打开链接2.解题思路:本题利用
线性筛
+打表解决。设f(n)=gcd(1,n)+gcd(2,n)+...+gcd(n-1,n).那么最终的答案就是S(n)=f(2)+f(3)+...
u014800748
·
2015-08-23 00:00
欧拉函数
gcd
线性筛
codeforces 568A A. Primes or Palindromes?(打表+暴力枚举)
codeforces568A题目大意:给出两个整数p,q,设A=pq,sum1[i]为≤i的素数的个数,sum2[i]为≤i的回文数的个数,问sum1[i]≤A⋅sum2[i]的最大的i是多少题目分析:首先通过
线性筛
将素数和回文数
qq_24451605
·
2015-08-19 09:00
数论
codeforces
线性筛
素数
voidInit()//
线性筛
素数 { for(inti=2;iN) break; mpf[i*prime[j]]=prime[j]; if(i%prime[j]==0) break; } } }
u013889450
·
2015-08-16 16:00
模板-素数
hdu 5392 Infoplane in Tina Town
对于这个模数要用unsignedint存,这个最小公倍数的求法不能用欧几里得,直接每次分解质因数,用
线性筛
预处理一下就好了。时间复杂度:O(
piaocoder
·
2015-08-16 10:00
快速幂
分解质因数
数论 -
线性筛
法与积性函数
首先以求1000000以内的素数为例来探讨筛法Eratosthenes筛法(埃拉托斯特尼筛法)时间复杂度:O(N*loglogN)空间复杂度:O(N)代码:#include #include #include #include #include #include #include #include #include #include #include #include #include #incl
u014355480
·
2015-08-07 22:00
数论
ACM
筛法
POJ 2262 Goldbach's Conjecture (求解素数的一般筛和
线性筛
)
Goldbach'sConjectureTimeLimit:1000MS MemoryLimit:65536KTotalSubmissions:40944 Accepted:15664DescriptionIn1742,ChristianGoldbach,aGermanamateurmathematician,sentalettertoLeonhardEulerinwhichhemadethefo
Tc_To_Top
·
2015-08-03 23:00
数论
poj
素数筛
质数筛选 poj3006 Dirichlet's Theorem on Arithmetic Progressions
今晚练习简直就是模板测试专题,又测了两个质数模板,,发现
线性筛
的那个模板弄错了,,于是改了一下,修正过来了因为这题已经告诉你了答案不会超过1e6,所以就把1e6的质数全部筛选出来,就可以通过O(1)方法判断是否是质数
qwb492859377
·
2015-07-25 00:00
素数筛法
线性筛
更快。
·
2015-07-19 18:00
素数
BZOJ 2186 [Sdoi2008]沙拉公主的困惑 线性逆元
题意:链接方法:
线性筛
逆元解析:SB卡常数题不想多说什么正常人都会做ans=ϕ(m!)∗n!m!ans=m!∗n!m!∗∏Pi−1Pi(Pi|m!)ans=n!∗∏Pi−1Pi(Pi|m!)
wzq_QwQ
·
2015-07-18 13:00
解析
方法
常数
sb
ans
线性筛
求素数
#include #defineN10000 intprime[N+5]; intmark[N+5]={0}; intisprime[N]={0}; voidinit() { inti,j; intcnt=0; for(i=2;iN) { break; } mark[i*prime[j]]=1; } } for(i=0;i
zyx520ytt
·
2015-07-14 16:00
【区间筛法】 LightOJ 1197 Help Hanzo
problem=1197这道题的题意大致是要我们从给定的范围内筛选出素数的个数,第一想法自然是欧拉筛法(
线性筛
)。
q79186954
·
2015-07-11 19:00
数学
ACM
【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
·
2015-07-11 16:00
BZOJ3233 [Ahoi2013]找硬币(
线性筛
+dp)
【题解】本蒻一直在想二维dp,看了题解才发现竟然一维就可以 设f[i]为最大面值为i时,买下所有兔纸花费的最小硬币数 f[i]=min{f[j]-sigma(a[k]/i*(i/j-1))},j|i,其中,j为次大面值,这个方程考虑的是选了i能减小多少j的使用注意,如果硬币种类很多,是不影响最优答案的(不用就行了) -----------> 重要的性质所以,可以在枚举j的这一步下手优化:规定i/j
cjk_cjk
·
2015-06-26 03:00
质因数
dp优化
线性筛
一维状态
[置顶] 做题记录
6.158数学[Beijingwc2012]算不出的算式动态规划三角形牧场
线性筛
素数个数最短路[Usaco2004Nov]TiltheCowsComeHome带奶牛回家最短路[Usaco2007Feb]
slongle_amazing
·
2015-06-21 11:00
[
线性筛
]素数个数
素数个数时间限制:5Sec内存限制:128MB题目描述求{1,2,…,N}中素数的个数。输入1个整数N。输出1个整数,表示素数的个数。样例输入10样例输出4提示对于40%的数据,1≤N≤10^6;对于80%的数据,1≤N≤10^7;对于100%的数据,1≤Nn thenbreak; check[prime[j]*i]:=false; ifimodprime[j]=0 thenbreak; end;
slongle_amazing
·
2015-06-19 22:00
线性筛
选法求素数表
iostream算法[cpp]viewplaincopyprint?1.先介绍普通的算法,比较简单,直接贴代码[cpp]viewplaincopyprint?#include using namespace std; const int MAX=100; bool isPrime[MAX+1]; int total;//计数 int
Dream_going
·
2015-06-03 00:10
算法分析与数学
poj2478 Farey Sequence(
线性筛
法+欧拉函数+递推)
题意:每次询问phi[1]+phi[2]+…+phi[n],n #include longlongf[1000005]; intno[1000005],pri[1000005],phi[1000005]; intmain() { intn,i,j,p=0; phi[1]=1; for(i=2;i<=1000000;i++) { if(no[i]==0) { pri[++p]=i; phi[i]=i
cjk_cjk
·
2015-06-02 10:00
欧拉函数
递推
线性筛
欧拉
线性筛
法求素数(顺便实现欧拉函数的求值)
我们先来看一下最经典的埃拉特斯特尼筛法。时间复杂度为O(nloglogn)intans[MAXN]; voidPrime(intn) { intcnt=0; memset(prime,1,sizeof(prime)); prime[0]=prime[1]=0; for(inti=2;i当k>1时,E(p^k)=E(p*p^(k-1))=E(p^(k-1))*p. (当k=1时,E(p)=p-1.)
NK_test
·
2015-05-29 23:00
素数
欧拉函数
phi
欧拉筛法
Leetcode Count Primes (欧拉
线性筛
法求素数)
----> 欧拉
线性筛
法求素数(顺便实现欧拉函数的求值)下面附上代码:classSolution{ public: intcountPrimes(intn){ intcnt=0; memset(vis,
NK_test
·
2015-05-29 22:00
LeetCode
素数
欧拉筛法
素数筛选
关于素数筛选,ACM中常用的有两种方法:埃拉托色尼(Eratosthenes)筛法(复杂度为O(nloglogn))和快速筛选法(也叫
线性筛
法,复杂度为O(n))。
AC_Gibson
·
2015-05-22 09:00
mobius inversion
有关资料:定义及性质证明
线性筛
法相关题目入门题:hdu1695题目大意:求满足x属于区间[1,m]与y属于区间[1,n],且gcd(x,y)=k的数对(x,y)个数。
u014679804
·
2015-05-06 19:00
省选模版复习——
线性筛
法
bzoj3944sum求phi和mu的前缀和,n #include #include #include usingnamespacestd; constintMaxn=1000005; typedeflonglongLL; LLmu[Maxn],phi[Maxn],ans1,ans2,n; intprime[Maxn],i,j,tot,Case; boolcheck[Maxn]; mapvx,v
Zeyu_King
·
2015-04-15 19:00
数论
线性筛法
[省选前题目整理][POJ 2407]Relatives(欧拉函数)
id=2407题目大意给出n,求欧拉函数ϕ(n)思路有两种做法:1、O(n)
线性筛
法,适合n很小但是求欧拉函数次数很多的地方。由于此题n过大因此会TLE。
qpswwww
·
2015-04-10 19:00
当我真正理解素数
线性筛
法
参考自:点击链接主要代码:constintMAXN=10000010; boolcom[MAXN]; intprimes,prime[MAXN/10]; voidsolve(intn) { primes=0; memset(com,false,sizeof(com)); com[0]=com[1]=true; for(inti=2;i<=n;++i) { if(!com[i]) { prime
u014427196
·
2015-03-19 22:00
Goldbach`s Conjecture 【素数
线性筛
法】
Goldbach`sConjectureTimeLimit:2000MS MemoryLimit:32768KB 64bitIOFormat:%lld&%lluSubmit StatusDescriptionGoldbach'sconjectureisoneoftheoldestunsolvedproblemsinnumbertheoryandinallofmathematics.
u014427196
·
2015-03-09 23:00
BZOJ 1409 Password 矩阵乘法+
线性筛
题目大意:求p^F[n]modq其中F是斐波那契数列,p是质数,q #include #include #include usingnamespacestd; constlonglongempty[2][2]={{0,0},{0,0}}; constlonglongI[2][2]={{1,0},{0,1}}; constlonglongtrans[2][2]={{0,1},{1,1}}; intn
PoPoQQQ
·
2015-03-06 17:00
矩阵乘法
bzoj
线性筛
BZOJ1409
【自用】关于欧拉函数以及逆元的一些模板
线性时间复杂度的算法
线性筛
!因为欧拉函数是积性函数,所以我们可以采用
线性筛
。过程见下方代码getphi()函数。基于欧拉函数的求逆元首先有欧拉公式xφ(p)%p
Vmurder
·
2015-03-03 16:00
欧拉函数
逆元
线性筛
hdu 2824
线性筛
素数求欧拉函数+前缀和
因为只是区间查询,没有修改,所以只需要提前求出前缀和即可,本题难点在于数据量大导致数组用起来比较紧张,所以要重复使用顶用过的数组#include #include #include #include #defineMAX3000001 usingnamespacestd; intp[1000000],pt; longlongphi[MAX]; boolm[MAX]; intN=3000001;
qq_24451605
·
2015-01-21 20:00
C++
动态规划
HDU
BZOJ 2813 奇妙的Fibonacci
线性筛
题目大意:给定i,求斐波那契数列中有多少F[j]是F[i]的约数,以及这些j的平方和定理:Gcd(F[i],F[j])=F[Gcd(i,j)]证明见 http://hi.baidu.com/wyl8899/item/b4ed30e6b9f404acce2d4f68那么当F[j]|F[i]时,必有Gcd(F[j],F[i])=F[j]则此时F[Gcd(j,i)]=F[j]若Gcd(j,i)==j,则
PoPoQQQ
·
2015-01-14 15:00
bzoj
线性筛
BZOJ2813
BZOJ 3288 Mato矩阵
线性筛
其实用高斯消元之后不难发现,要求的就是从1到m的phi的乘积,一个
线性筛
就解决了。
jiangyuze831
·
2015-01-10 19:00
欧拉函数
矩阵
行列式
bzoj
线性筛
BZOJ 3288 Mato矩阵
线性筛
题目大意:给定一个n阶行列式,第i行第j列为GCD(i,j),求这个行列式的值高斯消元之后发现对角线上的东西是phi于是
线性筛
出所有的欧拉函数即可/* #include #include #include
PoPoQQQ
·
2015-01-09 09:00
bzoj
线性筛
BZOJ3288
模拟赛_Round5T1】定情信物 推公式+
线性筛
逆元(推公式法比出题人简)
题解1:我们定义点为0维元素、线为1维元素、面为2维元素…… 既然一个低维超方体在对应新轴上平移得到高一维的超方体,比如二维超方体为一个面,然后沿新出现的z轴拓展,那么一个低维元素就会增加一维变成高一维的元素,比如点变成线、线变成面、面变成体…… 这样就有一个推式:高维元素会由第一维的元素衍生、同维元素复制保留,也就是一个超方体升维之后,高维超方体第i维元素的数量将是原超方体第i维的数量*2+
Vmurder
·
2014-12-29 08:00
cube
BZOJ3823
East模拟赛_Round5
线性筛逆元
定情信物
BZOJ 3823 定情信物
线性筛
乘法逆元
思路:考试题,当时做的时候不会
线性筛
乘法逆元,就得了70分。。。算法和标程不太一样,标程好象是递推,但是我空间想象力不够,没推出来。。只能找规律了。。花了一个半小时才找出来的规律。。
jiangyuze831
·
2014-12-29 07:00
数论
bzoj
乘法逆元
线性筛
空间超多面体
【BZOJ】【P3823】【定情信物】【题解】【
线性筛
逆元】
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3823有点意思的题目脑子里yy不出来4维的情况……把前三维打个表发现0维个数好像是2^n然后就是f[i]=f[i-1]*(n-i+1)/2i筛逆元算就完了UPD:数据加强被叉了T_T原因是p的倍数没有逆元……所以记录一下当前数中有多少个p就可以了Code:#include usingnames
u012732945
·
2014-12-28 09:00
bzoj
BZOJ 2693 jzptab 莫比乌斯反演
题目大意:同2154多组数据后面那坨东西由于积性函数的约数和仍是积性函数因此只需要
线性筛
一下就行i%prime[j]==0那部分由于多出来的因数都不是无平方因子数因此μ值都为0增加的只有原先的D/i#include
PoPoQQQ
·
2014-12-22 13:00
bzoj
莫比乌斯反演
BZOJ2693
BZOJ 2111 ZJOI2010 Perm 排列计数 组合数学+Lucas定理
为右儿子的大小那么1一定是堆顶左儿子和右儿子分别是一个堆显然如果选出l个数给左儿子那么左儿子的方案数显然是f[l],右儿子的方案数为f[r]于是有f[i]=C(i-1,l)*f[l]*f[r]于是我们
线性筛
处理出阶乘和阶乘的逆元代入即可得到
PoPoQQQ
·
2014-11-21 14:00
组合数学
Lucas定理
bzoj
BZOJ2111
快速
线性筛
法求素数&&一般筛法求素数代码
一般筛法求素数代码思路:素数的倍数不是素数。#include usingnamespacestd; constintM=2000000; inta[M]={1,1}; intprime[M]={0}; intk=0; voidinit() { for(inti=2;i>n) { for(inti=0;i usingnamespacestd; constintMax=2000000; longlo
u012349696
·
2014-11-17 11:00
算法
搜索
BZOJ 1968 AHOI 2005 COMMON 约数研究
线性筛
/暴力
看这数据范围应该就是
线性筛
没跑了,但是我不会筛约数个数。于是在暴力上面加一点点打表。吧1w到1kw之间10000的倍数的答案打出表,然后剩下10000暴力就好了。
jiangyuze831
·
2014-11-15 19:00
数学
2005
打表
bzoj
线性筛
AHOI
BZOJ 1968 AHOI2005 COMMON 约数研究
线性筛
题目大意:求n以内所有数的约数个数和100W,n√n别想了
线性筛
可以处理,对于每个数记录最小质因数的次数令factoral[i]为i的因数个数cnt[i]为i的最小质因数的次数若i为质数则factoral
PoPoQQQ
·
2014-11-15 18:00
bzoj
线性筛
BZOJ1968
写在NOIP之前-蒟蒻我到底会什么
数论\数学欧拉
线性筛
:在O(n)时间内得到n以内的所有素数,常用来预处理。另外也很容易求解积性函数。欧拉函数:phi(n)表示不大于n的正整数中与n互质的数的数目。
wyfcyx_forever
·
2014-11-07 21:00
线性筛
法
贾志鹏写的
线性筛
线性筛
的代码和普通筛法真的很像,唯一不同的就是
线性筛
是用一个自然数乘以若干质数去筛,而普通筛法是用一个质数乘以若干个自然数去筛,那它们的不同之处在哪里呢?
czysjr
·
2014-11-02 08:23
上一页
10
11
12
13
14
15
16
17
下一页
按字母分类:
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
其他