
-----数论-----
文章平均质量分 68
Sdywolf
沃是一只蒟蒻
展开
-
欧拉筛法与积性函数
欧拉筛法普通的筛法,即Eratosthenes筛法,复杂度为O(nloglogn)O(nloglogn),当范围大时,就扛不住了,需要利用欧拉筛法,也称线性筛法,下面还会介绍利用欧拉筛法的优美性质来求积性函数。 先给出欧拉筛法的代码:for(int i=2;i<=n;i++){ if(vis[i])prime[++prime[0]]=i; for(int j=1;j<=prime[原创 2017-06-28 21:35:33 · 502 阅读 · 0 评论 -
BZOJ2813--奇妙的斐波那契【线性筛】【斐波那契数列】
DescriptionFibonacci数列是这样一个数列: F1 = 1, F2 = 1, F3 = 2 … Fi = Fi-1 + Fi-2 (当 i >= 3) pty忽然对这个古老的数列产生了浓厚的兴趣,他想知道:对于某一个Fibonacci数Fi, 有多少个Fj能够整除Fi (i可以等于j),他还想知道所有j的平方之和是多少。题解由斐波那契的性质得: 当i,j>2,f[i]|f[原创 2017-06-29 10:52:42 · 585 阅读 · 0 评论 -
扩展欧几里得算法
扩展欧几里得扩展欧几里得算法,是使用与如下问题的一种复杂度为log(n)级别的算法: 求ax+by=gcd(a,b)的整数解。 首先,求解这个方程,其实只需要求出一组可行解,其他的解都是可以用这一组可行解推出来的,假设我们已经求得一组可行解x0,y0,那么对于任意的整数k, x0+k*b/(a,b),y0+k*a/(a,b)都是这个方程的一组解。原创 2017-02-15 09:10:05 · 678 阅读 · 0 评论