• bzoj1101: [POI2007]Zap


    f[x]=∑gcd(i,j)=d

    F[x]=∑d|gcd(i,j)=n/d*m/d

    f[x]=∑i|d u(d/i)(n/d*m/d)

    #include<cstdio>
    #include<cstring>
    #include<cctype>
    #include<algorithm>
    using namespace std;
    #define rep(i,s,t) for(int i=s;i<=t;i++)
    #define dwn(i,s,t) for(int i=s;i>=t;i--)
    #define clr(x,c) memset(x,c,sizeof(x))
    int read(){
    	int x=0;char c=getchar();
    	while(!isdigit(c)) c=getchar();
    	while(isdigit(c)) x=x*10+c-'0',c=getchar();
    	return x;
    } 
    const int nmax=50005;
    const int inf=0x7f7f7f7f;
    int mo[nmax+1],pe[nmax>>3];bool vis[nmax+1];
    void init(){
    	mo[1]=1;int tp,cnt=0;
    	rep(i,2,nmax){
    		if(!vis[i]) pe[++cnt]=i,mo[i]=-1;
    		rep(j,1,cnt){
    			tp=pe[j];if(tp*i>nmax) break;vis[tp*i]=1;
    			if(i%tp==0) {
    				mo[i*tp]=0;break;
    			}mo[i*tp]=-mo[i];
    		}
    	}
    	rep(i,2,nmax) mo[i]+=mo[i-1];
    }
    int main(){
    	int n=read(),u,v,d,tp,ans,last;init();
    	rep(i,1,n){
    		u=read(),v=read(),d=read();
    		u/=d,v/=d;ans=0;
    		if(u>v) swap(u,v);
    		for(int j=1;j<=u;j=last+1){
    			last=min(u/(u/j),v/(v/j));
    			ans+=(u/j)*(v/j)*(mo[last]-mo[j-1]);
    		}
    		printf("%d
    ",ans);
    	}
    	return 0;
    }
    

    1101: [POI2007]Zap

    Time Limit: 10 Sec  Memory Limit: 162 MB
    Submit: 2179  Solved: 843
    [Submit][Status][Discuss]

    Description

      FGD正在破解一段密码,他需要回答很多类似的问题:对于给定的整数a,b和d,有多少正整数对x,y,满足x<=a
    ,y<=b,并且gcd(x,y)=d。作为FGD的同学,FGD希望得到你的帮助。

    Input

      第一行包含一个正整数n,表示一共有n组询问。(1<=n<= 50000)接下来n行,每行表示一个询问,每行三个
    正整数,分别为a,b,d。(1<=d<=a,b<=50000)

    Output

      对于每组询问,输出到输出文件zap.out一个正整数,表示满足条件的整数对数。

    Sample Input

    2
    4 5 2
    6 4 3

    Sample Output

    3
    2
    //对于第一组询问,满足条件的整数对有(2,2),(2,4),(4,2)。对于第二组询问,满足条件的整数对有(
    6,3),(3,3)。

    HINT

     

    Source

     
    [Submit][Status][Discuss]
  • 相关阅读:
    memcached源码剖析5:并发模型
    memcached源码剖析4:并发模型
    深入剖析php执行原理(4):函数的调用
    深入剖析php执行原理(2):函数的编译
    剖析php脚本的超时机制
    strerror的坑
    深入理解php中的ini配置(2)
    深入理解php中的ini配置(1)
    一个“日期”字符串进行比较的case
    用valgrind检测php扩展内存泄露
  • 原文地址:https://www.cnblogs.com/fighting-to-the-end/p/5886294.html
Copyright © 2020-2023  润新知