博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2019.01.07-bzoj3309: DZY Loves Math-dtoj1669
阅读量:6167 次
发布时间:2019-06-21

本文共 1577 字,大约阅读时间需要 5 分钟。

 题目描述:

对于正整数n,定义f(n)为n所含质因子的最大幂指数。例如f(1960)=f(2^3 * 5^1 * 7^2)=3, f(10007)=1, f(1)=0。

给定正整数a,b,求sigma(sigma(f(gcd(i,j)))) (i=1..a, j=1..b)。

算法标签:数论,欧拉函数

思路:

此时预处理出f效率是nlogn还是过不去...真可怕

于是继续化,令T=kd

不妨令

 

对于存在pi!=pj

如果存在p1-q1>=1,则为0,不考虑。

其余对于存在一个的情况,你选定一个最大值,对于最大值相同的取正负号的数量相同,因此权值为0.

对于任意pi==pj的情况,取正负号的方案相同,但是其中一组最大值为p1,不为p1+1所以不能完全消去,因此获得的权值

线性筛预处理出f,然后每次log求出答案即可。

以下代码:

#include
#define il inline#define _(d) while(d(isdigit(ch=getchar())))using namespace std;const int N=1e7,M=1e7+5;int mx[M],num[M],pri[N],g[M],tot;bool vis[M];il int read(){
int x;char ch;_(!);x=ch^48;_()x=(x<<1)+(x<<3)+(ch^48);return x;}il void init(){ for(int i=2;i<=N;i++){ if(!vis[i])pri[++tot]=i,vis[i]=1,mx[i]=i,num[i]=1,g[i]=1; for(int j=1;j<=tot&&pri[j]*i<=N;j++){ vis[i*pri[j]]=1; if(i%pri[j]==0){ num[pri[j]*i]=num[i]+1; mx[i*pri[j]]=mx[i]*pri[j]; int tmp=i/mx[i]; if(tmp==1)g[i*pri[j]]=1; else g[i*pri[j]]=(num[tmp]==num[i*pri[j]])?-g[tmp]:0; break; } mx[i*pri[j]]=pri[j];num[i*pri[j]]=1;g[i*pri[j]]=(num[i]==1)?-g[i]:0; } } for(int i=2;i<=N;i++)g[i]+=g[i-1];}int main(){ init();int T=read(); while(T--){ int a=read(),b=read();int pos;long long ans=0; for(int i=1;i<=min(a,b);i=pos+1){ pos=min(a/(a/i),b/(b/i)); ans+=1ll*(g[pos]-g[i-1])*(a/i)*(b/i); } printf("%lld\n",ans); } return 0;}
View Code

 

转载于:https://www.cnblogs.com/Jessie-/p/10236538.html

你可能感兴趣的文章
《云计算:原理与范式》一1.7 平台即服务供应商
查看>>
百度成立“百度搜索公司”:固本拓新驱动生态裂变
查看>>
宇宙风暴?才怪!瑞典暗指俄罗斯黑客攻击航空控制系统
查看>>
5G将为欧洲带来超千亿欧元社会经济效益
查看>>
系统进程管理工具Process Explorer
查看>>
富士通仍执着SPARC架构芯片 将坚持推新
查看>>
易宪容:企业要利用大数据挖掘潜在需求
查看>>
微软声称Win10周年更新为Edge浏览器带来更好电池寿命
查看>>
混合云是企业IT的未来吗?
查看>>
LINE在日本取得成功 但全球化之路还很长
查看>>
红帽云套件新增QuickStart Cloud Installer,加快私有云部署
查看>>
MapXtreme 2005 学习心得 一些问题(八)
查看>>
流量精细化运营时代,营销SaaS之使命——流量掘金
查看>>
哥伦比亚大学牙科学院使用RFID系统,更好管理牙科器械
查看>>
雅虎同意出售核心资产
查看>>
Win10大丰收的节奏 微软收编iOS全部150万应用
查看>>
智慧城市要除“城市病” 中兴通讯开辟新增长极
查看>>
华平蝉联“视频会议十大卓越品牌”
查看>>
Opera已确认解散iOS开发团队
查看>>
DevOps:新的业务浪潮
查看>>