HDU 1695 GCD 莫比乌斯反演
2024-10-15 08:24:03
分析:简单的莫比乌斯反演
f[i]为k=i时的答案数
然后就很简单了
#include<iostream>
#include<algorithm>
#include<set>
#include<vector>
#include<queue>
#include<cstdlib>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
typedef long long LL;
typedef unsigned long long ULL;
const int N=1e5+;
int T,prime[N],mu[N],n,m;
bool vis[N];
void getmu()
{
mu[] = ;
int cnt = ;
for(int i=; i<=N-; i++)
{
if(!vis[i])
{
prime[cnt++] = i;
mu[i] = -;
}
for(int j=; j<cnt&&i*prime[j]<=N-; j++)
{
vis[i*prime[j]] = ;
if(i%prime[j]) mu[i*prime[j]] = -mu[i];
else
{
mu[i*prime[j]] = ;
break;
}
}
}
}
LL F(LL x){
LL y=m/x;
x=n/x;
y-=x;
return x*(x-)/+x+y*x;
} int main(){
getmu();
scanf("%d",&T);
int cas=;
while(T--){
int k;
scanf("%d%d%d%d%d",&n,&n,&m,&m,&k);
if(n>m)swap(n,m);
printf("Case %d: ",++cas);
if(!k){
printf("0\n");
continue;
}
LL ans=;
int mx=min(n,m);
for(int i=k;i<=mx;i+=k){
ans+=mu[i/k]*F(i);
}
printf("%I64d\n",ans);
}
return ;
}
最新文章
- VMware桥接模式无法自动化获取IP的解决方法
- 通过vmstat命令判断服务器瓶颈
- hdu 5542 The Battle of Chibi(2015CCPC - C题)
- [BS-06] 设置release发布时NSLog不打印设置
- Java中使用验证码和二维码
- Game start
- new Date() iso不支持兼容性问题
- Entity Framework 数据部分更新之Attach &;&;Detach
- nodejs在服务器上运行
- Google Maps Android API v2 (1)- 入门
- 我这样减少了26.5M Java内存!
- Django配置session
- php接口interface的使用
- 神经网络ANN——SPSS实现
- final关键字的几种用法
- linux下安装jdk_mysql_tomcat_redis
- Dynamic CRM 2015学习笔记(6)没有足够的权限 - 您没有访问这些记录的权限。请联系 Microsoft Dynamics CRM 管理员
- MySQL 物理文件体系结构的简单整理说明
- Navicat permium工具连接Oracle的配置
- javascript-序列化,时间,eval,转义