bzoj 3561: DZY Loves Math VI
3561: DZY Loves Math VI
Time Limit: 10 Sec Memory Limit: 256 MB
Submit: 489 Solved: 323
[Submit][Status][Discuss]
Description
Input
Output
Sample Input
Sample Output
HINT
数据规模:
1<=n,m<=500000,共有3组数据。
Source
By Jcvb
常年不做数论了,略感生疏。。。
首先和gcd有关的可以枚举公因数:
ANS=∑(d= 1 to n) d^d *f(n/d,m/d,d)。
其中f(x,y,z)表示1<=i<=x,1<=j<=y中gcd(i,j)==1的(xy)^z之和。
f直接求不好求,我们考虑反演得到f。
设g(x,y,z)为1<=i<=x,1<=j<=y的(xy)^z之和。
拆括号可以得到:g(x,y,z)=(∑ i^z)*(∑ j^z)。
g可以用f表示: g(x,y,z)=∑f(x/i,y/i,z)* i^(2*z)。
然后用g反演得f: f(x,y,z)=∑g(x/i,y/i,z) * i^(2*z) * μ(i)
总式子太长了,懒得打上了。。。
总之这个题最后的式子没法用一般的数论dark技巧优化,只能暴力求。。
也就是外层d枚举,d,n/d,m/d 确定了之后内层也是暴力做。。
(所以我也不知道我怎么没有TLE)
(而且感觉我内层的预处理既浪费了运行时间又显得很蠢hhh)
/**************************************************************Problem: 3561User: JYYHHLanguage: C++Result: AcceptedTime:7860 msMemory:11936 kb ****************************************************************/#include<bits/stdc++.h> #define ll long long #define ha 1000000007 #define maxn 500005 using namespace std; ll n,m,k,ans=0,ci[maxn],qz[maxn]; int miu[maxn],t=0,zs[maxn/5]; bool v[maxn];inline ll ksm(ll x,ll y){ll an=1;for(;y;y>>=1,x=x*x%ha) if(y&1) an=an*x%ha;return an; }inline void init(){miu[1]=1;for(int i=2;i<=500000;i++){if(!v[i]) zs[++t]=i,miu[i]=-1;for(int j=1,u;j<=t&&(u=zs[j]*i)<=500000;j++){v[u]=1;if(!(i%zs[j])) break;miu[u]=-miu[i];}} // for(int i=1;i<=500000;i++) miu[i]+=miu[i-1]; }inline ll mul(ll x,ll y){x*=y;if(x>=ha) x-=x/ha*ha;return x; }inline ll f(ll x,ll y,ll z){ // printf("round %lld %lld %lld:\n");ll an=0,now,a1,a2;qz[1]=1,ci[1]=1;for(int i=2;i<=z;i++){ci[i]=ksm(i,y);qz[i]=ci[i]*ci[i];if(qz[i]>=ha) qz[i]-=qz[i]/ha*ha;qz[i]*=miu[i];if(qz[i]<0) qz[i]+=ha;ci[i]+=ci[i-1];if(ci[i]>=ha) ci[i]-=ha;qz[i]+=qz[i-1];if(qz[i]>=ha) qz[i]-=ha;}for(int i=1,j;i<=x;i=j+1){a1=x/i,a2=z/i;j=min(x/a1,z/a2);now=qz[j]-qz[i-1]+ha;if(now>=ha) now-=ha;an+=mul(mul(ci[a1],ci[a2]),now);if(an>=ha) an-=ha;}return an; }int main(){init();scanf("%lld%lld",&n,&m);if(n>m) swap(n,m);for(int i=1;i<=n;i++){ans+=ksm(i,i)*f(n/i,i,m/i);if(ans>=ha) ans-=ans/ha*ha;}printf("%lld\n",ans);return 0; }
转载于:https://www.cnblogs.com/JYYHH/p/8305048.html
bzoj 3561: DZY Loves Math VI相关推荐
- 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 ...
- 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) ...
- 2017.10.9 DZY Loves Math VI 失败总结
一看到love math就知道肯定不会做.. 首先lcm拆成i*j/gcd(i,j),然后就讨论分子和分母..但并没有什么卵用 这个题对比传统反演题,主要不同的是f函数不是很直观.. 所以如果枚举gc ...
- 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 ...
- bzoj 3512: DZY Loves Math IV【欧拉函数+莫比乌斯函数+杜教筛】
参考:http://blog.csdn.net/wzf_2000/article/details/54630931 有这样一个显然的结论:当\( |\mu(n)|==1 \)时,\( \phi(nk) ...
- DZY Loves Math 系列详细题解
BZOJ 3309: DZY Loves Math I 题意 \(f(n)\) 为 \(n\) 幂指数的最大值. \[ \sum_{i = 1}^{a} \sum_{j = 1}^{b} f(\gcd ...
- DZY Loves Math系列
link 好久没写数学题了,再这样下去吃枣药丸啊. 找一套应该还比较有意思的数学题来做. [bzoj3309]DZY Loves Math 简单推一下. \[\sum_{i=1}^n\sum_{j=1 ...
- 【BZOJ3309】DZY Loves Math
3309: DZY Loves Math Time Limit: 20 Sec Memory Limit: 512 MB Submit: 411 Solved: 161 [Submit][Status ...
- 【BZOJ3512】DZY Loves Math IV(杜教筛)
[BZOJ3512]DZY Loves Math IV(杜教筛) https://www.cnblogs.com/cjyyb/p/10165338.html
- BZOJ3560 DZY Loves Math V
原题链接:https://www.lydsy.com/JudgeOnline/problem.php?id=3560 DZY Loves Math V Description 给定n个正整数a1,a2 ...
最新文章
- PostgreSql、MySql字段值为空时取其他值语句
- windows平台下vlc编译之六:vlc-0.9.8a的编译
- 企业应用架构模式学习笔记
- How to save your Ethereum Dapp users from paying gas for transactions
- mysql数据库搜索引擎要先进入_Mysql搜索引擎都有哪些区别
- 胡巴小年调皮搞事情?嗨翻五城华为体验店
- 归并排序的java语言_归并排序 java语言
- JAVA随机抽取一名幸运观众(手动输入观众)小实例
- 通俗易懂的通用excel导出
- CoLA任务的数据增强方法
- 大球吃小球html5,怎么用html5制作简单的大球吃小球的游戏
- 传奇私服服务器移动玩家位置,传奇私服服务端里面哪个是玩家数据文件文件
- 视频教程-数据分析与数据挖掘导论(R语言)-MySQL
- node笔记随笔---kalrry
- 基于Android实现的小型在线订餐APP饿了么
- Netty + Redis + Websocket IM 分布式集群实现
- 使用python批量将svg转换成PNG
- 爱玩mc卡在更新java_爱玩mc火爆服务器ip与登陆机制
- MotionBERT:Unified Pretraining for Human Motion Analysis中文翻译
- thinkphp多城市房产系统源码程序_Thinkphp多城市版房产系统模板源码 php开源房产源码+手机版...