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

  • 相关阅读:
    Ubuntu 12.04 git server
    Moonlight不再继续?!
    Orchard 视频资料
    一恍惚八月最后一天了
    Box2D lua binding and Usage
    50岁还在编程,也可以是一种成功
    DAC 4.2 发布
    再次祝贺OpenStack私有云搭建成功
    vue项目快速搭建
    pdf.js使用详解
  • 原文地址:https://www.cnblogs.com/Grice/p/12770287.html
Copyright © 2020-2023  润新知