原题链接:https://www.lydsy.com/JudgeOnline/problem.php?id=3561

DZY Loves Math VI

Description

给定正整数n,m。求

∑i=1n∑j=1mlcm(i,j)gcd(i,j)∑i=1n∑j=1mlcm(i,j)gcd(i,j)

\sum_{i=1}^{n}\sum_{j=1}^{m}lcm(i,j)^{gcd(i,j)}

Input

一行两个整数n,m。

Output

一个整数,为答案模1000000007后的值。

Sample Input

5 4

Sample Output

424

HINT

数据规模:

1<=n,m<=500000,共有3组数据。

题解
∑i=1n∑j=1mlcm(i,j)gcd(i,j)=∑i=1n∑j=1m(ijgcd(i,j))gcd(i,j)=∑d=1min(n,m)∑i=1n∑j=1m(ijd)d[d=gcd(i,j)]=∑d=1min(n,m)∑i=1⌊nd⌋∑j=1⌊md⌋(d2ijd)d[1=gcd(i,j)]=∑d=1min(n,m)dd∑i=1⌊nd⌋∑j=1⌊md⌋(ij)d∑d′|gcd(i,j)μ(d′)=∑d=1min(n,m)dd∑d′=1⌊min(n,m)d⌋μ(d′)∑i=1⌊nd⌋∑j=1⌊md⌋(ij)d[d′|gcd(i,j)]=∑d=1min(n,m)dd∑d′=1⌊min(n,m)d⌋μ(d′)d′2d∑i=1⌊ndd′⌋id∑j=1⌊mdd′⌋jd∑i=1n∑j=1mlcm(i,j)gcd(i,j)=∑i=1n∑j=1m(ijgcd(i,j))gcd(i,j)=∑d=1min(n,m)∑i=1n∑j=1m(ijd)d[d=gcd(i,j)]=∑d=1min(n,m)∑i=1⌊nd⌋∑j=1⌊md⌋(d2ijd)d[1=gcd(i,j)]=∑d=1min(n,m)dd∑i=1⌊nd⌋∑j=1⌊md⌋(ij)d∑d′|gcd(i,j)μ(d′)=∑d=1min(n,m)dd∑d′=1⌊min(n,m)d⌋μ(d′)∑i=1⌊nd⌋∑j=1⌊md⌋(ij)d[d′|gcd(i,j)]=∑d=1min(n,m)dd∑d′=1⌊min(n,m)d⌋μ(d′)d′2d∑i=1⌊ndd′⌋id∑j=1⌊mdd′⌋jd

\begin{align*} &\sum_{i=1}^{n}\sum_{j=1}^{m}lcm(i,j)^{gcd(i,j)}\\ &=\sum_{i=1}^{n}\sum_{j=1}^{m}(\frac{ij}{gcd(i,j)})^{gcd(i,j)}\\ &=\sum_{d=1}^{min(n,m)}\sum_{i=1}^{n}\sum_{j=1}^{m}(\frac{ij}{d})^{d}[d=gcd(i,j)]\\ &=\sum_{d=1}^{min(n,m)}\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{d}\rfloor}(\frac{d^2ij}{d})^{d}[1=gcd(i,j)]\\ &=\sum_{d=1}^{min(n,m)}d^d\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{d}\rfloor}(ij)^{d}\sum_{d'|gcd(i,j)}\mu(d')\\ &=\sum_{d=1}^{min(n,m)}d^d\sum_{d'=1}^{\lfloor\frac{min(n,m)}{d}\rfloor}\mu(d')\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{d}\rfloor}(ij)^{d}[d'|gcd(i,j)]\\ &=\sum_{d=1}^{min(n,m)}d^d\sum_{d'=1}^{\lfloor\frac{min(n,m)}{d}\rfloor}\mu(d')d'^{2d}\sum_{i=1}^{\lfloor\frac{n}{dd'}\rfloor}i^d\sum_{j=1}^{\lfloor\frac{m}{dd'}\rfloor}j^{d}\\ \end{align*}

因为dd′dd′dd'后面还跟了一个ididi^d之类的奇奇怪怪的东西,所以用TTT来替换并无卵用,但是数据范围只有5e4" role="presentation" style="position: relative;">5e45e45e4啊,如果直接枚举的话复杂度为n1+n2+n3+⋯+nn−1+nn≈n ln(n)n1+n2+n3+⋯+nn−1+nn≈nln(n)\frac{n}{1}+\frac{n}{2}+\frac{n}{3}+\cdots+\frac{n}{n-1}+\frac{n}{n}\approx n\ ln(n),稳了稳了。

代码
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int M=5e5+5,mod=1000000007;
int p[M/3],miu[M],n,m,nd,md,dd;
ll ans,tmp,sum[M],val[M];
bool isp[M];
ll power(ll x,ll p){ll r=1;for(;p;p>>=1,x=x*x%mod)if(p&1)r=r*x%mod;return r;}
void pre()
{miu[1]=isp[1]=1;for(int i=2,t;i<M;++i){if(!isp[i])p[++p[0]]=i,miu[i]=-1;for(int j=1;j<=p[0],i*p[j]<M;++j){isp[i*p[j]]=1;if(i%p[j]==0)break;miu[i*p[j]]=-miu[i];}}
}
void in(){scanf("%d%d",&n,&m);}
void ac()
{if(n>m)swap(n,m);pre();for(int i=1;i<=m;++i)val[i]=1;for(int i=1,j;i<=n;++i){nd=n/i,md=m/i,tmp=0;for(j=1;j<=md;++j)val[j]=val[j]*j%mod,sum[j]=(sum[j-1]+val[j])%mod;for(j=1;j<=nd;++j)(tmp+=miu[j]*val[j]%mod*val[j]%mod*sum[nd/j]%mod*sum[md/j]%mod)%=mod;(ans+=tmp*power(i,i)%mod)%=mod;}printf("%lld",(ans+mod)%mod);
}
int main(){in();ac();}

BZOJ3561 DZY Loves Math VI相关推荐

  1. 2017.10.9 DZY Loves Math VI 失败总结

    一看到love math就知道肯定不会做.. 首先lcm拆成i*j/gcd(i,j),然后就讨论分子和分母..但并没有什么卵用 这个题对比传统反演题,主要不同的是f函数不是很直观.. 所以如果枚举gc ...

  2. DZY Loves Math系列

    link 好久没写数学题了,再这样下去吃枣药丸啊. 找一套应该还比较有意思的数学题来做. [bzoj3309]DZY Loves Math 简单推一下. \[\sum_{i=1}^n\sum_{j=1 ...

  3. DZY Loves Math 系列详细题解

    BZOJ 3309: DZY Loves Math I 题意 \(f(n)\) 为 \(n\) 幂指数的最大值. \[ \sum_{i = 1}^{a} \sum_{j = 1}^{b} f(\gcd ...

  4. BZOJ 3309 DZY Loves Math

    3309: DZY Loves Math Description 对于正整数n,定义f(n)为n所含质因子的最大幂指数.例如f(1960)=f(2^3 * 5^1 * 7^2)=3, f(10007) ...

  5. 【BZOJ3512】DZY Loves Math IV(杜教筛)

    [BZOJ3512]DZY Loves Math IV(杜教筛) https://www.cnblogs.com/cjyyb/p/10165338.html

  6. bzoj 3739 DZY loves math VIII

    3739: DZY loves math VIII Time Limit: 25 Sec Memory Limit: 512 MB Submit: 318 Solved: 50 [Submit][St ...

  7. BZOJ3560 DZY Loves Math V

    原题链接:https://www.lydsy.com/JudgeOnline/problem.php?id=3560 DZY Loves Math V Description 给定n个正整数a1,a2 ...

  8. 【BZOJ3309】DZY Loves Math

    3309: DZY Loves Math Time Limit: 20 Sec Memory Limit: 512 MB Submit: 411 Solved: 161 [Submit][Status ...

  9. 【BZOJ3309】DZY Loves Math 解题报告

    [BZOJ3309]DZY Loves Math Description 对于正整数\(n\),定义\(f(n)\)为\(n\)所含质因子的最大幂指数.例如\(f(1960)=f(2^3×5^1×7^ ...

  10. BZOJ 3309: DZY Loves Math

    Description 对于正整数 n n,定义f(n)f(n)为 n n所含质因子的最大幂指数.例如f(1960)=f(23∗51∗72)=3f(1960)=f(2^3 * 5^1 * 7^2)=3 ...

最新文章

  1. C# AndrewUtil.dll 在小博中发布分享(翻译组件)
  2. #中delay函数_ECBM系列教程3:闪烁灯——delay函数的用法。
  3. python学习-类(类方法、实例方法、静态方法)
  4. c语言存储类_C编程语言的存储类
  5. JavaScript单线程和浏览器事件循环简述
  6. JavaScript中关于setTimeout和setInterval的使用
  7. Netty工作笔记0003---IO模型-BIO-Java原生IO
  8. Rabbitmq学习笔记007---Centos7下安装rabbitmq_测试通过
  9. SQOOP对分隔符支持情况的验证
  10. 实现多国语言的Reporting Services项目
  11. Power oj2498/DP/递推
  12. web前端工程师的供求
  13. struts1 和struts 2区别
  14. 服务器 运行时错误怎么办,内部服务器错误怎么办
  15. i春秋 - Exploit-Exercises: Nebula - level00
  16. Microsoft store 提示检查网络(Error :0x80072EFD),总有一种方法适合你!
  17. altium Designer使用方法大总结
  18. [h5棋牌项目]-05-重载配置导致的内存泄露
  19. 我输就输在,我没想要赢,只想被爱。
  20. 下一个交易日是多久?一个交易日是多长时间

热门文章

  1. git 添加远程服务器,远程搭建git服务器新手踩坑
  2. 恢复mysql数据--使用frm和ibd文件
  3. 使用Quartz做定时器
  4. Raki的读paper小记:BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
  5. Rocket - tilelink - AtomicAutomata
  6. 第 7 章 Neutron - 071 - 详解 ML2 Core Plugin(I)
  7. ASP.NET MVC 4 tutorial
  8. 基于frp实现将安卓手机变成代理服务器
  9. 线程池的实现原理分析
  10. G1垃圾回收器总结一