避免热点域
比如一个hashmap的size。优化的方法就是加一个计数器。但是对于ConcurrentHashMap来说。当并发的对其进行操作时,每次put和remove都需要改变这个计数器。所以在这个类里这个计数器就被叫做热点域,是可伸缩性的瓶颈。所以这里采取避免热点域的方法是对于应用锁分段的散列桶,ConcurrentHashMap中的size将对每个分段进行枚举并将每个分段的元素数量相加。...
分类:
编程语言 时间:
2014-09-13 09:24:34
阅读次数:
231
何为原根?由费马小定理可知 如果a于p互质 则有a^(p-1)≡1(mod p)对于任意的a是不是一定要到p-1次幂才会出现上述情况呢?显然不是,当第一次出现a^k≡1(mod p)时, 记为ep(a)=k 当k=(p-1)时,称a是p的原根每个素数恰好有f(p-1)个原根(f(x)为欧拉函数)定理...
分类:
其他好文 时间:
2014-09-12 22:05:44
阅读次数:
294
此题A得艰难,应该是有很多组数据吧,使得容易超时。直接求出组合数是不可能的,因而,只能把各个数都计算其各素因子个数,再计算即可。而直接计算,必定是要超时的,所以,只好先预处理所有结果,再输出了。首先筛选素数,分解0~440的素因子。然后,Cnk=(n*(n-1)*(n-2)*...(n-k+1))/...
分类:
其他好文 时间:
2014-09-12 21:57:34
阅读次数:
192
题目:判断101-200之间有多少个素数,并输出所有素数。for i in range(101,201): flag=0; for j in range(2,int(i**(1.0/2))): if i%j==0: flag=1 if flag=...
分类:
编程语言 时间:
2014-09-12 20:42:34
阅读次数:
248
一.朴素判断素数1 bool PrimerNumber(int n)2 {3 for(int i = 2; i*i <= n; i++)4 {5 if(n % i == 0)6 return false;7 }8 return ...
分类:
其他好文 时间:
2014-09-12 13:25:03
阅读次数:
122
最近用c++改写了一下C#版 BigInteger,可以用于RSA大素数的生成
分类:
编程语言 时间:
2014-09-12 11:37:23
阅读次数:
367
UVA 1521 - GCD Guessing Game
题目链接
题意:一个数字x在1-n之间,现在猜数字,每次猜一个数字a,告知gcd(x, a)的答案,问最坏情况下需要猜几次
思路:在素数上考虑,猜一组素数的乘积的数字,就可以把这些素数组成的数字都猜出来,答案就是组数,这样问题就是如何分组使得组数最小,每次取最后一个,尽量和前面小的合并,就能使得组数最小
代码:
...
分类:
其他好文 时间:
2014-09-11 13:56:02
阅读次数:
306
很好的入门题先测试是否为素数,若不是则进行素因子分解,算法详见总结贴 miller robin 和pollard rho算法AC代码#include #include#include#includeusing namespace std;long long ans;long long gcd(lon...
分类:
其他好文 时间:
2014-09-11 01:06:21
阅读次数:
215
知道miller robin 素数测试中的伪素数定义就可以很容易解决,详见总结帖#include #include#include#include#includeusing namespace std;long long n;long long multi(long long a,long long...
分类:
其他好文 时间:
2014-09-10 21:03:31
阅读次数:
244
5.查找最小的 k 个元素(数组)题目:输入 n 个整数,输出其中最小的 k 个。例如输入 1,2,3,4,5,6,7 和 8 这 8 个数字,则最小的 4 个数字为 1,2,3 和 4。算法里面学过查找第k小的元素的O(n)算法试着实现了一下:注意new 初始化二维数组的方式int (* a)[5...
分类:
其他好文 时间:
2014-09-10 17:42:20
阅读次数:
175