摘要:
为什么称为线性,因为普通的筛法重复了好多次,冗余,而线性筛法避免了冗余。 ①如果 i 都是是素数的话,那简单,一个大的素数 i 乘以不大于 i 的素数,这样筛除的数跟之前的是不会重复的。筛出的数都是 N=p1*p2的形式, p1,p2之间不相等 ②如果 i 是合数,此时 i 可以表示成递增素数相乘 阅读全文
摘要:
小明是一个聪明的孩子,对数论有着很浓烈的兴趣。他发现求1到正整数10n 之间有多少个素数是一个很难的问题,该问题的难以决定于n 值的大小。现在的问题是,告诉你n的值,让你帮助小明计算小于10n的素数的个数值共有多少位? 小明是一个聪明的孩子,对数论有着很浓烈的兴趣。他发现求1到正整数10n 之间有多 阅读全文
摘要:
给定一个自然数N,找出一个M,使得M > 0且M是N的倍数,并且M的10进制表示只包含0或1。求最小的M。 例如:N = 4,M = 100。 给定一个自然数N,找出一个M,使得M > 0且M是N的倍数,并且M的10进制表示只包含0或1。求最小的M。 例如:N = 4,M = 100。 例如:N = 阅读全文
摘要:
经典题。 阅读全文
摘要:
反素数的定义: 对于任何的正整数n,其约数的个数记为f(n),例如f(6) = 4,如果某个正整数n满足,对于任意正整数i,0<i<n都有f(i)<f(n)那么称n为反素数。 两个性质: (1)一个反素数的所有质因子必然是从2开始的连续若干个质数,因为反素数是保证约数个数为的这个数尽量小 (2)同样 阅读全文
摘要:
题意:有一些联通的地方,如果2点间只有一条路径,这样的边叫做桥,现在让你添加一个桥,使最后的桥最少,问最少的桥使多少? 先求一次强连通分量,然后图就分成了几个块,将这几个块看做点,求出总共有多少条重建图中的边,然后再求出最长的边,这样答案就是总共 边数 - 最长的边的长度。原来的标记手法过了几题,但 阅读全文
摘要:
Tarjan算法来解这题。无向图可以转化为有向图来解决。 阅读全文
摘要:
来自博客:http://www.cnblogs.com/saltless/archive/2010/11/08/1871430.html 求强连通分量的Tarjan算法 说到以Tarjan命名的算法,我们经常提到的有3个,其中就包括本文所介绍的求强连通分量的Tarjan算法。而提出此算法的普林斯顿大 阅读全文
摘要:
给出N个固定集合{1,N},{2,N-1},{3,N-2},...,{N-1,2},{N,1}.求出有多少个集合满足:第一个元素是A的倍数且第二个元素是B的倍数。 提示: 对于第二组测试数据,集合分别是:{1,10},{2,9},{3,8},{4,7},{5,6},{6,5},{7,4},{8,3} 阅读全文
摘要:
证明略。在此只要求指导exgcd,并且会使用。 欧几里德算法:现在有a=xb+y,其中a,b,x,y为整数,那么可以得到:gcd(a,b)=gcd(b,a%b)。 代码实现: 扩展欧几里德算法: 对于不完全为 0 的非负整数 a,b,gcd(a,b)表示 a,b 的最大公约数,必然存在无数组整 数对 阅读全文