建议降紫
查看原帖
建议降紫
491204
ShwStone楼主2022/10/6 14:59

这个题的模拟部分虽然麻烦,但是不难想。而 CRT 部分使用暴力即可通过。

暴力 CRT :

long long cal() {
	long long res = yushu[1];
	long long lllcm = moshu[1];
	for (int i = 2; i <= k; i++) {
		int cnt = 0;
		while (res % moshu[i] != yushu[i]) {
			res += lllcm;
			res %= llcm;
			if (++cnt > moshu[i]) return LLONG_MAX;
		}
		lllcm = lcm(lllcm, moshu[i]);
	}
	while (res < mst) res += llcm; //llcm是所有数的最小公倍数
	return res;
}

AC记录

2022/10/6 14:59
加载中...