zoukankan      html  css  js  c++  java
  • 数论 专题整理

    东西多,而且比较高妙,和数学的关系较大。

    没写完,才写了一点,先去冲csp了,冲完再更

    基础

    质数, 分解质因数,整除,互质,gcd/lcm

    放一起是因为都很基本

    trick: 利用质因子间的独立性, 分解问题

    例1

    (1...n) 所有数的 lcm,(nle 10^8),1s

    先筛出来质数。考虑这些数的lcm,就是每种质数取最高次

    最高能取多少次?对于每个 (p),取最大的 (k) 使得 (p^kle n),那它就是 (k) 次。

    枚举每个 (p),计算 (k),乘起来。

    复杂度: (O(dfrac{n}{ln n} imes log n)=O(n))

    例2 SDOI2008沙拉公主的困惑

    这里用到一个东西: 互质的规律性

    对于一个 (p),设 (f(i)) 表示 (i) 是否与 (p) 互质 (1互质,0不互质),那么 (f(i)=f(i+p),forall iin N^{*})

    那对于这个题,计算出 (varphi(m!) imes dfrac{n!}{m!}) 即可。

    (varphi(m!)) 就把 (m) 分解质因数计算即可。讨论一下 (m>mod) 的情况。

    例3 CF1295D

    (gcd(a,m)=gcd(a+x,m),xin [0,m))

    首先把 (a,m) 约掉一个 (gcd)。然后就变成:

    计算多少 (xin[0,m)) 满足 (gcd(a+x,m)=1),也就是 (a+x)(m) 互质

    根据互质的规律性,我们发现这玩意可以平移,然后就等价于有多少个 (x)(m) 互质。这玩意就是 (varphi(m))

    考虑到我们约掉了一个 (gcd),也就是说,答案是

    (varphi(dfrac{m}{gcd(a,m)}))

    例4 CF615D

    (n) 所有因数的积。(n) 用分解质因数的形式给出,质数的个数 (le 2 imes 10^5),每个质数都在 (2 imes 10^5) 以内。

    有一个东西:(n) 的因数,相当于是 (n) 分解质因数后每个 (p^k),选择一个指数 (c(cle k)),然后把 (p^c) 乘起来。这个方法可以得到 (n) 的所有因数。

    因此,我们用这个生成法,考虑每个质数 (p) 的贡献,设它是 (k) 次。那它显然可以取 (1,2,3...k) 次,都可以。这些乘起来就是 (p^{frac{k(k+1)}{2}})

    然后它被算了多少次呢?显然,其它的质因数可以随便取,每取一次就会把它算一次。那把其它质因数的指数 (+1) 乘起来,就是它被算的次数。

    然后把每个贡献乘起来就行了。

  • 相关阅读:
    X5webview完美去掉分享功能和缓存功能(2)
    bintray 在android3.2上传遇到的问题
    x5webview 自定义全屏界面
    X5webview去掉分享功能和缓存功能
    buglly热更新集成遇到的那些坑
    腾讯x5webview集成实战
    动态权限<三>华为小米特殊机制
    android 判断应用是否在前台显示
    动态权限<二>之淘宝、京东、网易新闻 权限申请交互设计对比分析
    android 图片二维码识别和保存(二)
  • 原文地址:https://www.cnblogs.com/LightningUZ/p/15415886.html
Copyright © 2011-2022 走看看