博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【NOI2010】能量采集
阅读量:6302 次
发布时间:2019-06-22

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

题面

1539934-20181121181058213-430339401.jpg

1539934-20181121181112583-739229823.jpg

1539934-20181121181115183-1054976944.jpg

1539934-20181121181119474-2131361567.jpg

1539934-20181121181128374-733522003.jpg

1539934-20181121181122244-1941987376.jpg

1539934-20181121181124684-551917412.jpg

1539934-20181121181132634-807900029.jpg

1539934-20181121181135974-821052566.jpg

题目分析

对于第\((i,j)\)个位置,对答案的贡献为\(2*gcd(i,j)-1\)

所以有\(ans=2*\sum\limits_{i=1}^n\sum\limits_{j=1}^mgcd(i,j)-n*m\)

其中\(\sum\limits_{i=1}^n\sum\limits_{j=1}^mgcd(i,j)=\sum\limits_{d=1}^nd\sum\limits_{i=1}^n\sum\limits_{j=1}^m[gcd(i,j)==d]\)

转化为求\(gcd(i,j)==d\)的对数,方法与相同。

代码实现

#include
#include
#include
#include
#include
#include
#include
#define MAXN 0x7ffffffftypedef long long LL;const int N=100005;using namespace std;inline int Getint(){register int x=0,f=1;register char ch=getchar();while(!isdigit(ch)){if(ch=='-')f=-1;ch=getchar();}while(isdigit(ch)){x=x*10+ch-'0';ch=getchar();}return x*f;}int mu[N],prime[N];bool vis[N];int main(){ int n=Getint(),m=Getint();if(n>m)swap(n,m); mu[1]=1; for(int i=2;i<=n;i++){ if(!vis[i])prime[++prime[0]]=i,mu[i]=-1; for(int j=1;j<=prime[0]&&1ll*i*prime[j]<=n;j++){ vis[i*prime[j]]=1; if(i%prime[j]==0)break; mu[i*prime[j]]=-mu[i]; } } LL ans=0; for(int d=1;d<=n;d++){ LL ret=0; for(int x=1;x*d<=n;x++) ret+=1ll*mu[x]*(n/x/d)*(m/x/d); ans+=ret*d; } cout<<2*ans-1ll*n*m; return 0;}

转载于:https://www.cnblogs.com/Emiya-wjk/p/9996805.html

你可能感兴趣的文章
5.Inheritance Strategy(继承策略)【EFcode-first系列】
查看>>
网络监控之一:netstat命令
查看>>
【高可用HA】Apache (1) —— Mac下安装Apache Httpd到自定义路径(非/etc/apache2)
查看>>
妈蛋:kinMaxShow旋转木马异常,WebUploader图片上传坑爹,图像被压缩
查看>>
Linux导出/导入逻辑卷组信息
查看>>
jQuery插件开发的五种形态[转]
查看>>
Unity3D 获得GameObject组件的方法
查看>>
leetcode || Spiral Matrix
查看>>
【转】Junit初体验
查看>>
POJ 2185 Milking Grid KMP循环节周期
查看>>
Windows下zlib库和libPng库的编译和使用
查看>>
学习日记之命令模式和Effective C++
查看>>
【完全开源】知乎日报UWP版:增加Live磁贴、Badge、以及Toast通知
查看>>
【ASP.NET 进阶】定时执行任务实现 (定时读取和修改txt文件数字内容,无刷新显示结果)...
查看>>
OpenGL介绍
查看>>
TCP和UDP的差别
查看>>
简单的图形验证码
查看>>
linux搭建git服务器
查看>>
C# JSON 序列化和反序列化——JavaScriptSerializer实现
查看>>
C语言 百炼成钢6
查看>>