CodeCraft-20 (Div. 2) C. Primitive Primes (数学)

-
题意:给你两个一元多项式\(f(x)\)和\(g(x)\),保证它们每一项的系数互质,让\(f(x)\)和\(g(x)\)相乘得到\(h(x)\),问\(h(x)\)是否有某一项系数不被\(p\)整除.
-
题解:这题刚开始看了好久不知道怎么写,但仔细看题目给的条件可能会看出一点门道来,我们知道,\(c_{i}\)是由\(f(x)\)和\(g(x)\)中多个某两项积的和来得到的(\(c_{i}=a_{0}b{i}+a_{1}b_{i-1}+...+a_{i}b_{0}\)),那么我们只要找到第一个不被\(p\)整除的\(a_{i}\)和\(b_{i}\)即可.
-
代码:
int n,m; ll p; ll a[N],b[N]; int main() { ios::sync_with_stdio(false);cin.tie(0); cin>>n>>m>>p; for(int i=0;i<n;++i){ cin>>a[i]; } for(int i=0;i<m;++i){ cin>>b[i]; } int pos1=0; int pos2=0; for(int i=0;i<n;++i){ if(a[i]%p!=0){ pos1=i; break; } } for(int i=0;i<m;++i){ if(b[i]%p!=0){ pos2=i; break; } } cout<<pos1+pos2<<endl; return 0; }
𝓐𝓬𝓱𝓲𝓮𝓿𝓮𝓶𝓮𝓷𝓽 𝓹𝓻𝓸𝓿𝓲𝓭𝓮𝓼 𝓽𝓱𝓮 𝓸𝓷𝓵𝔂 𝓻𝓮𝓪𝓵
𝓹𝓵𝓮𝓪𝓼𝓾𝓻𝓮 𝓲𝓷 𝓵𝓲𝓯𝓮

浙公网安备 33010602011771号