zoukankan      html  css  js  c++  java
  • [BZOJ3994] [SDOI2015]约数个数和

    首先有一个结论$d(i*j)=sum limits _{xmid i} sum limits _{ymid j}left [ gcd(i,j)=1 ight ] $

    结论有点难想,不过之后就比较简单了。

    $sum limits _{i=1}^{N}sum limits _{j=1}^{M} sum limits _{xmid i} sum limits _{ymid j}left [ gcd(x,y)=1 ight ]$

    $sum limits _{i=1}^{N} sum limits _{j=1}^{M} sum limits _{xmid i}sum limits _{ymid j}sum limits _{gmid gcd(i,j)}u(g)$

    $sum limits _{x=1}^{N}sum limits _{{i}'=1}^left lfloor frac{N}{x} ight floor sum limits _{y=1}^{M}sum limits _{{j}'=1}^{left lfloor frac{M}{y} ight floor}sum limits _{gmid gcd(x,y)}u(g)$

    $sum limits _{x=1}^{N}sum limits _{y=1}^{M} sum limits _{gmid gcd(x,y)}u(g) left lfloor frac{N}{xg} ight floor left lfloor frac{M}{yg} ight floor$

    $sum limits _{g=1}^{min(N,M)} u(g)sum limits _{x=1}^{left lfloor frac{N}{g} ight floor}sum limits _{y=1}^{left lfloor frac{M}{g} ight floor}left lfloor frac{N}{xg} ight floor left lfloor frac{M}{yg} ight floor$

    设$f(T)=sum limits _{T=1}^{N}left lfloor frac{N}{T} ight floor$

    那么原式=$sum limits _{g=1}^{min(N,M)} u(g) f(left lfloor frac{N}{g} ight floor) f(left lfloor frac{M}{g} ight floor)$

    整除分块预处理f函数就可以了。

  • 相关阅读:
    架构师时间~白话OAuth2
    vue前端各种问题
    windows命令行导入sql
    正则表达式概述
    XPath语法 在C#中使用XPath示例
    面试宝典
    Repository,UnitOfWork,DbContext(1)
    EF Code First:实体映射,数据迁移,重构(1)
    表单常用的正则表达式
    Lambda表达式
  • 原文地址:https://www.cnblogs.com/Al-Ca/p/11645561.html
Copyright © 2011-2022 走看看