BZOJ3561 DZY Loves Math VI
原题链接:https://www.lydsy.com/JudgeOnline/problem.php?id=3561
DZY Loves Math VI
Description
给定正整数n,m。求
\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组数据。
题解
\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相关推荐
- 2017.10.9 DZY Loves Math VI 失败总结
一看到love math就知道肯定不会做.. 首先lcm拆成i*j/gcd(i,j),然后就讨论分子和分母..但并没有什么卵用 这个题对比传统反演题,主要不同的是f函数不是很直观.. 所以如果枚举gc ...
- DZY Loves Math系列
link 好久没写数学题了,再这样下去吃枣药丸啊. 找一套应该还比较有意思的数学题来做. [bzoj3309]DZY Loves Math 简单推一下. \[\sum_{i=1}^n\sum_{j=1 ...
- DZY Loves Math 系列详细题解
BZOJ 3309: DZY Loves Math I 题意 \(f(n)\) 为 \(n\) 幂指数的最大值. \[ \sum_{i = 1}^{a} \sum_{j = 1}^{b} f(\gcd ...
- 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) ...
- 【BZOJ3512】DZY Loves Math IV(杜教筛)
[BZOJ3512]DZY Loves Math IV(杜教筛) https://www.cnblogs.com/cjyyb/p/10165338.html
- 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 ...
- BZOJ3560 DZY Loves Math V
原题链接:https://www.lydsy.com/JudgeOnline/problem.php?id=3560 DZY Loves Math V Description 给定n个正整数a1,a2 ...
- 【BZOJ3309】DZY Loves Math
3309: DZY Loves Math Time Limit: 20 Sec Memory Limit: 512 MB Submit: 411 Solved: 161 [Submit][Status ...
- 【BZOJ3309】DZY Loves Math 解题报告
[BZOJ3309]DZY Loves Math Description 对于正整数\(n\),定义\(f(n)\)为\(n\)所含质因子的最大幂指数.例如\(f(1960)=f(2^3×5^1×7^ ...
- 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 ...
最新文章
- C# AndrewUtil.dll 在小博中发布分享(翻译组件)
- #中delay函数_ECBM系列教程3:闪烁灯——delay函数的用法。
- python学习-类(类方法、实例方法、静态方法)
- c语言存储类_C编程语言的存储类
- JavaScript单线程和浏览器事件循环简述
- JavaScript中关于setTimeout和setInterval的使用
- Netty工作笔记0003---IO模型-BIO-Java原生IO
- Rabbitmq学习笔记007---Centos7下安装rabbitmq_测试通过
- SQOOP对分隔符支持情况的验证
- 实现多国语言的Reporting Services项目
- Power oj2498/DP/递推
- web前端工程师的供求
- struts1 和struts 2区别
- 服务器 运行时错误怎么办,内部服务器错误怎么办
- i春秋 - Exploit-Exercises: Nebula - level00
- Microsoft store 提示检查网络(Error :0x80072EFD),总有一种方法适合你!
- altium Designer使用方法大总结
- [h5棋牌项目]-05-重载配置导致的内存泄露
- 我输就输在,我没想要赢,只想被爱。
- 下一个交易日是多久?一个交易日是多长时间
热门文章
- git 添加远程服务器,远程搭建git服务器新手踩坑
- 恢复mysql数据--使用frm和ibd文件
- 使用Quartz做定时器
- Raki的读paper小记:BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
- Rocket - tilelink - AtomicAutomata
- 第 7 章 Neutron - 071 - 详解 ML2 Core Plugin(I)
- ASP.NET MVC 4 tutorial
- 基于frp实现将安卓手机变成代理服务器
- 线程池的实现原理分析
- G1垃圾回收器总结一