51nod1226
题意
做法
\(p=\frac{x^4-y^4}{x^3+y^3},p\in 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,p\in prime\)就好了
暴力:\(O(\sqrt R)\)个\(2x^2+2x+1\),然后\(O(\sqrt V)\)判断
考虑\(2x^2+2x+1\)被素数\(p\)整除,\(2x^2+2x+1\equiv 0(mod~p)\Longrightarrow \frac{-1\pm \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<q\Longrightarrow 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,不然过不去