P8459 「REOI-p1」计算 题解
题意:$T$ 次询问,给定大整数 $a,b,c$,判断 $a\times b$ 是否等于 $c$。
思路
数据范围使得 FFT/NTT 完全过不去。
注意到题目并没有让我们把 $a\times b$ 算出来。
考虑把问题转化为判断 $a\times b$ 在 $\bmod\ p$ 的意义下是否与 $c$ 同余。
出题人特意卡掉了 $p=998244353$,于是我们令 $p=998244853$。
Code
#include <cstdio>
#define M 998244853
long long R()
{
long long r = 0;char c = getchar();
while(c < '0' || c > '9') c = getchar();
while(c >= '0' && c <= '9')
r = (r * 10 + c - '0') % M, c = getchar();
return r;
}
signed main()
{
int T;scanf("%d", &T);while(T--)
if(R() * R() % M == R()) puts("YES");else puts("NO");
return 0;
}

浙公网安备 33010602011771号