一些关于数学的小结论(updating)

组合数C(n,m)的奇偶性:(n&m)==m是奇数,否则偶数


对于变量a,常量b,c,若a-(a%b)<c,则更小的a也满足此式


计算n中二进制位1的个数

int countBits(int n) {
    int count = 0;
    while(n != 0) {
        n = n & (n-1);
        count++;
    }
    return count;
}


方差递推计算


ni=1(xix)2=ni=1x2i(ni=1xi)2

D(X)=E(X^2)-[E(X)]^2,E(X )是期望


CRT与扩展CRT:

要知道x模k,只需要知道x模k的所有素因子就可以,即独立剩余系

如果给出的模数们不互素,他们的lcm如果整除k也是可以的



和为x且互素的切分方法

ll work(ll x){	//和为x且互素的切分法
	if(x==1)return 1;
	if(mp.count(x))return mp[x];
	mp[x]=qpow(2,x-1);
	
	for(int i=2;i*i<=x;i++){	//减去公因子为i的均分法
		if(x%i==0){
			mp[x]=(mp[x]-work(x/i)+mod)%mod;
			if(i*i!=x){
				mp[x]=(mp[x]-work(i)+mod)%mod;
			}
		}
	}

	mp[x]=(mp[x]-1+mod)%mod;	//减去不放隔板
	return mp[x];
}

勾股数性质

如果一个数有 4n+1 形式的素因子,那么它可以是某组勾股数里最大的那个数。

posted @ 2017-08-28 17:24  Drenight  阅读(190)  评论(0编辑  收藏  举报