洛谷P2568 GCD(莫比乌斯反演)
2024-08-27 05:35:36
这题和p2257一样……不过是n和m相同而已……
所以虽然正解是欧拉函数然而直接改改就行了所以懒得再码一遍了2333
不过这题卡空间,记得mu开short,vis开bool
//minamoto
#include<cstdio>
#define ll long long
const int N=1e7+;
int p[],n,m;short mu[N];bool vis[N];ll sum[N],ans;
void init(int n){
mu[]=;
for(int i=;i<=n;++i){
if(!vis[i]) mu[i]=-,p[++m]=i;
for(int j=;j<=m&&p[j]*i<=n;++j){
vis[i*p[j]]=;
if(i%p[j]==) break;
mu[i*p[j]]=-mu[i];
}
}
for(int j=;j<=m;++j)
for(int i=;i*p[j]<=n;++i)
sum[i*p[j]]+=mu[i];
for(int i=;i<=n;++i) sum[i]+=sum[i-];
}
int main(){
scanf("%d",&n),init(n);
for(int l=,r;l<=n;l=r+){
r=n/(n/l);
ans+=(sum[r]-sum[l-])*(n/l)*(n/l);
}
printf("%lld\n",ans);
return ;
}
最新文章
- SignalR系列续集[系列8:SignalR的性能监测与服务器的负载测试]
- UVa 11987 Almost Union-Find(支持删除操作的并查集)
- postgresql利用pg_upgrade升级数据库(从8.4升级到9.5)
- CS193P - 2016年秋 第三讲 Swift 语言及 Foundation 框架
- 20个免费的 JavaScript 游戏引擎分享给开发者
- yum或apt基本源设置指南
- windows下vim编辑器,字符编码设置。
- 【Algorithm】逆序数的分治求解
- 关于BT下载的一点事儿
- VC MFC工具栏(CToolBar)控件
- 深入理解Node系列-细说Connect(上)
- PHP 支持8种基本的数据类型
- angular 数据双向绑定的终极奥义
- WinForm 中 comboBox控件之数据绑定
- Android 闪烁动画
- 046 Oracle执行慢的SQL
- hive1.2.1安装步骤(在hadoop2.6.4集群上)
- Greenplum入门——基础知识、安装、常用函数
- 从头认识java-15.7 Map(7)-TreeMap与LinkedHashMap
- jQuery基础(常用插件 表单验证,图片放大镜,自定义对象级,jQuery UI,面板折叠)