题意
做法
(p=frac{x^4-y^4}{x^3+y^3},pin prime)
令(d=(x,y)),将原(x,y)改写成(dx,dy,(x,y)=1)
原式等价于(p(x^3+y^3)=d(x^4-y^4)Longrightarrow p(x^2-xy+y^2)=d(x-y)(x^2+y^2))
有(x-y=1)
证明:
(x^2-xy+y^2=frac{d(x-y)(x^2+y^2)}{p}),(x^2-xy+y^2<x^2+y^2),(p|(x^2+y^2))
(frac{x^2-xy+y^2}{(x-y)}=frac{d(x^2+y^2)}{p})
若((x^2-xy+y^2,x-y)!=1),则((x,y)!=1),故((x^2-xy+y^2,x-y)=1),(x-y=1)
(p(x^2-xy+y^2)=d(x-y)(x^2+y^2)Longrightarrow p(x^2+x+1)=d(2x^2+2x+1))
有((x^2+x+1,2x^2+2x+1)=1),(p=2x^2+2x+1,d=x^2+x+1)
由于(d)没有限制,所以只要满足(p=2x^2+2x+1,pin prime)就好了
暴力:(O(sqrt R))个(2x^2+2x+1),然后(O(sqrt V))判断
考虑(2x^2+2x+1)被素数(p)整除,(2x^2+2x+1equiv 0(mod~p)Longrightarrow frac{-1pm sqrt {-1}}{2}mod~p)
令(f(x)=2x^2+2x+1)。若(f(x_0)equiv 0(mod~p)),则(f(p-1-x_0)equiv 0(mod~p))。这说明最小的两个解分别是(<frac{p}{2},>frac{p}{2})
如下算法:
(a_i=2i^2+2i+1),从(i=1)开始枚举,若(a_i)没被改变过且(in[L,R]),则更新答案
向后将(a_j(j>i))中的(a_i)因子去掉
证明算法正确性:
首先枚举到(a_i)时,其必定是(1)或素数。假设其有质因子(p,q),由于(i)是最小整数解,(i<p,i<qLongrightarrow 2i^2+2i+1<pq)。矛盾。
同理(2i^2+2i+1<p^2)
但这样是(O(cnt^2))的,考虑优化:
(f(x)equiv 0(mod~p)Longrightarrow f(x\%p)equiv 0(mod~n))
这题要用vector,不然过不去