zoukankan      html  css  js  c++  java
  • 51nod1226

    题意

    51nod

    做法

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

  • 相关阅读:
    Springboot集成Junit
    springboot集成mybatis
    使用Spring Initializr快速创建Springboot工程
    Tungsten Replicator学习总结
    Java代理模式汇总
    Java定时任务的常用实现
    Java对象序列化剖析
    最适合作为Java基础面试题之Singleton模式
    MyCat源码分析系列之——结果合并
    MyCat源码分析系列之——SQL下发
  • 原文地址:https://www.cnblogs.com/Grice/p/12770287.html
Copyright © 2011-2022 走看看