zoukankan      html  css  js  c++  java
  • 数论小姿势??

    我也不知道这是什么..


    关于离散对数

    就是EXBSGS.. 哎主要是消因子

    $$acequiv bcpmod{m}Rightarrow aequiv bpmod{frac{m}{(m,c)}}$$

    $$aequiv bpmod{nm}Rightarrow aequiv bpmod{n}$$

    $$aequiv bpmod{m}Rightarrow acequiv bcpmod{mc}$$

    $$aequiv bpmod{c}Rightarrow (a,c)=(b,c)$$

    离散对数就是求$x$:

    $$A^xequiv Bpmod{C}$$

    那么根据公式1消因子,设$d=gcd(A,C)$,为了使$gcd(A,C)=1$,就要找最大的$T$

    $$dfrac{A^x}{d^T}equiv dfrac{B}{d^T}pmod{dfrac{C}{d^T}}$$

    化简一下

    $$dfrac{A^T}{d^T}cdot A^{x-T}equiv dfrac{B}{d^T}pmod{dfrac{C}{d^T}}$$

    然后这个$A^{x-T}$就可以用正常的BSGS做了,只是带一个系数而已..

    由于$x>T$所以小的要暴力判断


    积性函数

    呀之前在旧的blog讲了一些.. 这个坑就不填了

    主要是列举一些比较常用的卷积??

    $$1*1=d$$

    拆开即可证

    $$1*mu=epsilon$$

    设$n=p_1^{r_1}p_2^{r_2}p_3^{r_3}...p_k^{r_k}$

    那么就相当于$sumlimits_{i=0}^k(-1)^icdot C_k^icdot 1^{k-i}$

    就是$(1-1)^k$

    显而易见只有$1$会等于$1$

    $$1*varphi=n$$

    闭眼证明法

    $$1*n=sigma$$

    闭眼证明法

    $$1*1= au$$

    闭眼证明法

    $$n*mu=varphi$$

    莫比乌斯反演,即$g=f*1Rightarrow f=g*mu$

    $sigma$函数只要筛$varphi$函数即可

    $sigma(n)=sumlimits_{d|n}d=sumlimits_{i=1}^niepsilon((i,n)=1)$

    $=sumlimits_{i=1}^nisumlimits_{k|i,k|n}mu(k)$

    $=sumlimits_{k|n}mu(k)sumlimits_{i=1}^{n/k}ik$

    $=sumlimits_{k|n}mu(k)dfrac{n(1+n/k)}{2}$

    $=dfrac{n}{2}sumlimits_{k|n}mu(k)(1+dfrac{n}{k})$

    拆开,由$1*mu=epsilon$和$n*mu=varphi$

    $=dfrac{n(varphi(n)+epsilon(n))}{2}$


    暴力打表强行筛

    就是那道陶陶的难题

    xjb搞发现$ans(n)-ans(n-1)$是积性函数,就打表

    1)看$p^r$的规律

    2)看$(2 imes 2) imes 3=12$如何推到$2 imes (2 imes 3)=12$

    3)看大的是否满足


    杜教筛

    杜教筛

  • 相关阅读:
    poj 1286 Necklace of Beads poj 2409 Let it Bead HDU 3923 Invoker <组合数学>
    大圣降妖录破解
    dex文件格式二
    dex文件格式一
    打造smali代码库辅助分析
    一键调试脚本使用手册
    TraceView进行性能分析
    Android Killer工具用法
    十三. JEB破解三
    十二. 一步步破解JEB 2.0demo版二
  • 原文地址:https://www.cnblogs.com/darklove/p/6774545.html
Copyright © 2011-2022 走看看