const long maxn=1000001;
bool prime[maxn];
//筛选法求素数
//0代表素数,1代表非素数
void primeinit(){
long long i=2,t;
for(i=4;i<maxn;i=i+2)
prime[i]=false;
for(i=3;i<maxn;i=i+2)
{
if(prime[i])
{
t=i*i;
while(t<maxn)
{
prime[t]=false;
t=t+i;//<<2;//偶数倍不用检测i*i为奇数,故i*i+2i必为奇数
}
read more
阅读(754)
阅读(593)
阅读(479)
阅读(291)
转载请注明作者:
phylips@bmy
出处:
http://duanple.blog.163.com/blog/static/7097176720098210128972/
欧几里德算法
用来求两个数的最大公约数的算法。具体如下
int gcd(int a,int b){
if(b == 0) return a;
return gcd(b,a%b);
}
首先看正确性证明,实际上需要证明gcd(a,b)=gcd(b,a%b),我们只要证明gcd(a,b)=gcd(a-b,b)即可,因为可以由此逐步扩展为gcd(a,b) = gcd(a-k*b,b),而 gcd(a-k*b,b)=gcd(a%b,b)。
因为a,b的公约数必然是a-b,b的公约数故 gcd(a,b) <= gcd(a-b,b);另a-b b的公约数也必然是a b的公约数,gcd(a,b) >= gcd(a-b,b).所以gcd(a,b) = gcd(a-b,b)。证明完毕。
read more
阅读(822)
阅读(356)
1.枚举int值,统计二进制bit中1的个数
1.1记忆化统计1的个数,x^(x-1)直接统计
//enum int comb
int count(unsigned int x){
int i = 0;
while(x != 0){
x = x&(x-1);
i++;
}
return i;
}
void enumComb(int N,int M){
int one[1<<15];
for(int i = 0 ; i < (1 << (N+1)/2) ; i++){
one[i] = count(i);
}
int half = N/2;
for(int i = 1 ; i < (1 << half) ; i++){
for(int j = 1 ; j < (1 << N-half) ; j++){
if(one[i] + one[j] == M){
cout << i << " " << j << endl;
}
}
}
}
read more
阅读(249)
线段树就像树状数组一样,通过将一个长为n的段落,划分为O(logn)个子段落,这样就可以通过维护子段落的属性,来求得整个段落的属性。可以证明,任何一个子段在一颗线段树上不会被划分为超过2logn个子段。
一个典型的线段树如下:
read more
阅读(384)
历史上,Knuth在其<<Sorting and Searching>>一书的第6.2.1节指出:尽管第一个二分搜索算法于1946年就出现,然而第一个完全正确的二分搜索算法直到1962年才出现。
而不经仔细斟酌而写出的一个二分查找经常遭遇off by one或者无限循环的错误。下面将讨论二分查找的理论基础,实现应用,及如何采用何种技术保证写出一个正确的二分程序,让我们免于思考麻烦的边界及结束判断问题。
read more
分布式系统领域经典论文翻译集
- 16,156 views
AddressSanitizer&ThreadSanitizer原理与应用
- 7,491 views
分布式领域经典论文译序
- 5,928 views
About
- 4,427 views
线性一致性理论
- 4,406 views
Paxos Made Live(译)
- 3,925 views
深度探索分布式理论经典论文
- 3,586 views
【google论文二】Google文件系统(上)
- 3,576 views
Avro: 大数据的数据格式(zz)
- 3,211 views
Google论文、开源与云计算
- 3,149 views
linux
分布式系统
离奇的code
程序设计语言
算法与acm
网络及内核
计算机科学与人物
高性能计算
NewSQL Basis
gdb基本工作原理
Jepsen测试
性能优化工具:perf
性能优化工具:gperftools
2021年6月
2021年1月
2020年12月
2020年10月
2019年8月
2018年11月
2018年9月
2018年6月
2015年1月
2014年2月
2013年11月
2013年10月
2013年9月
2013年6月
2013年5月
2013年4月
2013年3月
2013年2月
2013年1月
2012年12月
2012年11月
2012年10月
2012年9月
2012年8月
2012年7月
2012年6月
2012年5月
2012年4月
2012年1月
2011年12月
2011年11月
2011年10月
2011年9月
2011年8月
2011年7月
2011年6月
2011年5月
2011年4月
2011年3月
2011年1月
2010年12月
2010年11月
2010年10月
2010年8月
2010年7月
2010年6月
2010年5月
2010年4月
2010年3月
2010年1月
2009年12月
2009年11月
2009年10月
2009年9月
2009年8月
2009年7月
2009年6月
2009年5月
2009年4月
2009年3月
2009年2月
2009年1月
2008年12月
2008年11月
2008年10月
2008年9月
2008年8月
2008年7月
2008年6月
2008年5月
2008年4月
2008年3月
文章
RSS
评论
RSS
WordPress.org
James Hamilton
Werner Vogels
近期评论