Schwartz–zippel定理

Published: by Creative Commons Licence

  • Tags:

Schwartz–Zippel定理

定理:在有限域F上给定一个总度数(total degree)为kn元多项式P,且多项式非0,对于F的某个子集S,我们从中均匀随机挑选n个数值x1,,xn,那么有:

Pr[P(x1,,xn)=0]k|S|

判断多项式是否相同

题目1:给定mn元多项式P1,,Pn,其中每个多项式的总度数均为1。接下来要求回答q个请求,每个请求给定(l,a,x),要求回答Pl×Pl+1××Pl+x1是否与Pa×Pa+1××Pa+x1是否相等。所有的计算都在模109+7的意义下计算。其中1n,m,q105,且每个多项式Pi最多只有10个变量的系数非0

我们可以直接用Schwartz–Zippel定理来判断。为每个变量提前选定值,这样每个多项式都对应一个整数。我们只需要用线段树计算区间中所有整数的乘积即可。

为了保证概率足够大,我们可以判定两次,两次都通过才算相同。

参考资料