解线性同余方程组

解线性同余方程组

CRT

不说了.

struct CRT{
	ll de[crtn],nn[crtn];//product of de should be within range<long long>()
	inline ll operator()(int n){
		ll M=1,ans=0;
		fon(i,n) M*=de[n];
		fon(i,n){
			ll t=M/de[n],inv=inv_fast(t,de[n]);
			ans=(ans+t*inv*nn[n])%M;
		}
		return (ans+M)%M;
	}
};

CRT只能处理模数互素的情况.

增量法

每次将两个同余方程合并成一个.
设这两个方程:

\[x\equiv a\pmod{b} \]

\[x\equiv c\pmod{d} \]

显然

\[x\equiv c\pmod{\frac{d}{(b,d)}} \]

就可以CRT一下...就没了?

posted @ 2015-07-19 21:07  zball  阅读(380)  评论(0编辑  收藏  举报