zoukankan      html  css  js  c++  java
  • 筛法的一些技巧

    又有点时间没有写东西了我来讲点trick..对就是水一篇..

    大家都会筛法吧..

    筛k×n+t形式的素数,k,t给定

    比如说6n+1形式的(大雾)

    你考虑筛法的本质是找出p mod k×n+t=0的那些k×n+t<=Upper_Bound的那些n,它们步长间隔是相同的..

    这样就可以方便的筛了..

    复杂度是O((n=Upper_Bound/k)loglogn+sqrt(Upper_Bound))..大概..?

    筛一段中的素数,比如[1e16,1e16+1e8]

    同样的,反正你只需要把<=sqrt(Upper_Bound)的素数筛掉就好了..

    Wheel Factorization

    大概就是你可以预处理一个婊,对mod 2,3,5,7,...,一个小素数不对的那些就不枚举了

    筛B-smooth number(某个形式的,比如f(x)=x²-t)

    如果f(x)=f(x+p) (mod p),我们又可以快乐的筛筛筛啦..不过现在是在用筛法分解..

    最后再用试除法/Pollard Rho/ECM把那些likely to be smooth的数分解一遍..

    我好像还没说B-smooth是什么..?就是所有素因子都<=B的数..

    这东西在质因数分解和离散对数(似乎差不多不管了)里还是发挥了不少作用的..

    筛法是可以并行的

    理由同筛一段中的素数..

  • 相关阅读:
    梯度消失和梯度爆炸
    BN的作用与使用过程
    百面机器学习笔记(二)
    正则表达式
    CSS Sprite
    事件绑定
    拖拽
    oncontextmenu
    鼠标跟随
    鼠标事件
  • 原文地址:https://www.cnblogs.com/tmzbot/p/6685462.html
Copyright © 2011-2022 走看看