zoukankan      html  css  js  c++  java
  • 杂题

    题意

    给定质数(p),及长度为(n)的序列({a_i})
    定义(f(x,y))为最小的正整数(i)使得(exists j,x^iequiv y^j(mod~p))
    (sumlimits_{i=1}^nsumlimits_{j=1}^n f(a_i,a_j) imes f(a_j,a_i)(mod~p))
    (nle 10^5,ple 10^{18})

    做法

    (g)(p)的原根,令(x)为使得(g^xequiv a)
    对于(a^{ord(a)}equiv 1),有(g^{ord(a)x}equiv 1)。故(p-1|ord(a)x),得到(frac{p-1}{(p-1,x)}|ord(a)),所以有(ord(a)=frac{p-1}{(p-1,x)})

    (x,y)分别使得(g^xequiv a,g^yequiv b)
    对于(a^iequiv b^j),有(g^{ix}equiv g^{jy}),那么(ixequiv jy(mod~p-1))
    根据裴蜀定理有((y,p-1)|ix)(frac{(y,p-1)}{(y,p-1,x)}|i),最小的(i)(frac{(y,p-1)}{(y,p-1,x)})
    由于(ord(a)=frac{p-1}{(p-1,x)}),可以看到((p-1,x)=frac{p-1}{ord(a)}),故(i=frac{frac{p-1}{ord(b)}}{(frac{p-1}{ord(a)},frac{p-1}{ord(b)})}=frac{ord(a)}{(ord(a),ord(b))})
    (f(a_i,a_j)f(a_j,a_i)=frac{ord(a_i)ord(a_j)}{(ord(a_i),ord(a_j))^2})

    由于(p)为质数,可通过试除法得到(ord(a))
    在对(p)质因数分解后,可以通过莫比乌斯变换及莫比乌斯反演(高维前缀和)处理

    题外话

    大概是我题做得太少了?感觉这题很有趣w

  • 相关阅读:
    一些tcp通讯代码
    使用资源监控工具 glances
    命令行方式运行yii2程序
    php获取apk信息
    Yii2简单纪要
    LuCI探究(转)
    proguard混淆jar文件
    hibernate-search-5.1.1简易使用
    数据库应用-java+sqlserver(六)MyFrame
    数据库应用-java+sqlserver(五)ModifyPassword
  • 原文地址:https://www.cnblogs.com/Grice/p/13768697.html
Copyright © 2011-2022 走看看