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;
}
posted @ 2022-08-01 19:04  Jijidawang  阅读(14)  评论(0)    收藏  举报  来源