矩阵乘法 + 等比数列二分求和

矩阵乘法

void cheng(){
	for(int i = 1; i <= m; i ++)
		for(int j = 1; j <= n; j ++)
			for(int k = 1; k <= w; k ++)
				c[i][j] += a[i][k] * b[k][j];
}

等比数列二分求和

ll getsum(ll a,ll n){
	if(n == 1) return a;
	ll s = getsum(a, n / 2);
	if(n & 1){
		ll t = ksm(a, n / 2 + 1);
		s = (s + s * t % mod) % mod;
		s = (s + t) % mod;
	}
	else{
		ll t = ksm(a, n / 2);//快速幂
		s = (s + s * t % mod) % mod;
	}
	return s;
}

posted @ 2019-05-18 16:39  羽错光阴  阅读(238)  评论(0)    收藏  举报