UOJ Logo jcvb的博客

博客

noip 2014 day2 T3 jcvb题解

2014-11-09 15:58:42 By jcvb

暴力做法是对$[1,m]$的所有整数在模意义下验证,复杂度$O(nm)$。

取一个质数$P$,对$[0,P-1]$的整数进行验证(模$P$意义下),复杂度是$O(Pn)$。(注意挑选的$P$需要保证$f(x)$在模$P$意义下不会变成零多项式)

然后可以知道模$P$意义下有不超过$n$个解。(拉格朗日定理)

那么对应地,在$[1,m]$中至多只有$n \cdot \left\lceil m/P \right\rceil$个解,对这些解进行验证即可。复杂度$O(n^2m/P)$。

取$P$在$\sqrt{nm}$附近。总复杂度$O(n \sqrt{nm})$。

评论

ydc
Orz
Picks
厉害得不行。
vfleaking
太神了
jzc
太神了
TKD
orz
jcpwfloi
太神了
WuHongxun
太神了
eurekash
如果取两个不能整除a0的素数,合并出可能的解,会不会更优一些?
eurekash
好吧,O(np)的复杂度是必须的...p至少也得取1w...
sujiao
你们可以试试用中国剩余定理来做 这个题目M可以出到10^8的
hzyfr
如果有意卡小的mod,m=10^8还是可以做的吗?
ccc000111
Orz@jcvb……太神了太神了……

发表评论

可以用@mike来提到mike这个用户,mike会被高亮显示。如果你真的想打“@”这个字符,请用“@@”。