传送门

不会,先坑着

https://kelin.blog.luogu.org/solution-p1587

 //minamoto
#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
const int N=7e5+,E=2e6+;
typedef int arr[N];typedef long long ll;
struct Am{int nx,x,w;}e1[E];
struct Ans{int nx,n,m,k;ll w;}e2[E];
int n,m,k,M,c1,c2,K[],f1[E],f2[E];arr vis,p,mu,sum;
int Sm(int x){
if(x<=M) return sum[x];
int u=(x+)%E;
for(int i=f1[u];i;i=e1[i].nx)
if(e1[i].x==x) return e1[i].w;
e1[++c1]=(Am){f1[u],x,},f1[u]=c1;
int &w=e1[c1].w,i=,j=sqrt(x);
for(;i<=j;++i) w-=Sm(x/i);
for(;i<=x;i=j+)
j=x/(x/i),w-=(j-i+)*Sm(x/i);
return w;
}
ll sol(int n,int m,int k){
if(!n||!m) return ;
int u=(2017ll*n+m+k)%E;
for(int i=f2[u];i;i=e2[i].nx)
if(e2[i].n==n&&e2[i].m==m&&e2[i].k==k) return e2[i].w;
e2[++c2]=(Ans){f2[u],n,m,k,},f2[u]=c2;ll &w=e2[c2].w;
if(k==){
if(n>m) swap(n,m);
int i=,j=sqrt(n),s,t=,x,y;
for(;i<=j;++i,t=s) s=Sm(i),w+=1ll*(n/i)*(m/i)*(s-t);
for(;i<=n;i=j+,t=s)x=n/i,y=m/i,j=min(n/x,m/y),s=Sm(j),w+=1ll*x*y*(s-t);
u=(2017ll*m+n+k)%E;e2[++c2]=(Ans){f2[u],m,n,k,w},f2[u]=c2;
}
else for(int i=;i<=K[]&&K[i]<=k;++i)
if(k%K[i]==&&mu[K[i]])
w+=sol(m/K[i],n,K[i])*mu[K[i]];
return w;
}
int main(){
// freopen("testdata.in","r",stdin);
scanf("%d%d%d",&n,&m,&k);
M=min(N-,max(k,min(n,m))),sum[]=mu[]=;
for(int i=;i<=M;++i){
if(!vis[i]) p[++p[]]=i,mu[i]=-;
for(int j=,x;j<=p[]&&(x=i*p[j])<=M;++j){
vis[x]=;
if(i%p[j]==) break;
mu[x]=-mu[i];
}
sum[i]=sum[i-]+mu[i];
}
for(int i=;i<=k;++i)
if(k%i==) K[++K[]]=i;
printf("%lld\n",sol(n,m,k));
return ;
}

最新文章

  1. mysql nonInstall 版本的安装与配置
  2. 爱与恨的抉择:ASP.NET 5+EntityFramework 7
  3. db2 常用命令
  4. typeof instanceof
  5. ArcGIS Engine -- 常用方法
  6. Oracle锁表(转载)
  7. 阿里云服务器(CentOS)安装tomcat,jdk,布署J2EE项目
  8. HDU2035 人见人爱A^B(快速幂)
  9. fedora22 无法联网的情况下rpm安装gcc5.1
  10. Intent MIME 打开各种类型的文件
  11. 解决:eclipse导入android时工程下没有R文件的问题,以及style.xml文件报错
  12. The Swift Programming Language-官方教程精译Swift(2)基础知识
  13. 第7章 UserInfo端点(UserInfo Endpoint) - IdentityModel 中文文档(v1.0.0)
  14. spring mvc 配置之 context:annotation-config vs component-scan
  15. android checkbox自定义(文字位置、格式等)
  16. vue全局后置钩子afterEach
  17. JDK8字符串拼接的正确姿势
  18. php调用C#生成的dll(二)
  19. xdcms_3.0.1 | 代码审计
  20. html页面跳转

热门文章

  1. 【linux】自动删除7天前的文件
  2. hdmap相关单词
  3. BZOJ 1600 [Usaco2008 Oct]建造栅栏:dp【前缀和优化】
  4. Mybatis中的like模糊查询
  5. java对象的初始化过程和创建对象的几种方式
  6. 0.5px的实现的几种方法
  7. Mysql源码学习——源码目录结构
  8. select查询语句执行顺序
  9. Mysql常用命令行大全(二)
  10. Python3解leetcode Same Tree