码迷,mamicode.com
首页 > 其他好文 > 详细

51nod1226

时间:2020-04-24 21:53:12      阅读:81      评论:0      收藏:0      [点我收藏+]

标签:判断   row   改变   等价   最小   mat   mod   com   lock   

题意

51nod

做法

\(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,不然过不去

51nod1226

标签:判断   row   改变   等价   最小   mat   mod   com   lock   

原文地址:https://www.cnblogs.com/Grice/p/12770287.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!