莫比乌斯反演基础。

用rep 去掉重复的对数,rep一定是奇数( 因为有(1,1 ) )

 #include <bits/stdc++.h>
using namespace std;
#define fst first
#define scd second
#define pb(x) push_back((x))
#define mkp(x,y) make_pair((x),(y))
#define ist(x) insert((x))
typedef long long ll;
typedef pair<int ,int > pii;
typedef pair<ll ,ll > pll;
typedef vector< int > vi;
ll gcd(ll a,ll b){ return b==?a:gcd(b,a%b);}
ll qPow(ll a,ll b,ll mod){ ll ret=1ll;while(b){ if(b&) ret=ret*a%mod;a=a*a%mod;b>>=;} return ret; } const int maxN=1e5+;
bool check[maxN+];
int prime[maxN+];
int mu[maxN+];
void init(){
memset(check,false,sizeof(check));
mu[]=;
int tot=;
for(int i=;i<=maxN;++i){
if(!check[i]) { prime[tot++]=i; mu[i]=-; }
for(int j=;j<tot;++j){
long long k=i*prime[j];// may overflow ,
if(k>maxN) break;
check[k]=true;
if(i%prime[j]==){ mu[k]=; break; }
else mu[k]=-mu[i];
}
}
/*
for(int i=1;i<=100;++i)
printf(" mobi %d : %d\n",i,mu[i]);
*/
} int main(){
init();
int T;
scanf("%d",&T);
for(int cntT=;cntT<=T;++cntT){
printf("Case %d: ",cntT);
int A,B,C,D,K;
scanf("%d%d%d%d%d",&A,&B,&C,&D,&K);
if(!K) { puts("");continue; }
ll ans=0ll;
ll rep=0ll;
B/=K,D/=K;
int bound=min(B,D);
for(int i=;i<=bound;++i) {
ans+=1ll*mu[i]*(B/i)*(D/i);
//printf("after %d : %lld\n",i,ans);
}
for(int i=;i<=bound;++i) rep+=1ll*mu[i]*(bound/i)*(bound/i);
//printf(" \n%lld %lld\n",ans,rep);
printf("%lld\n",ans-rep/);
}
return ;
}

HDU - 1695 GDU的更多相关文章

  1. D - GCD HDU - 1695 -模板-莫比乌斯容斥

    D - GCD HDU - 1695 思路: 都 除以 k 后转化为  1-b/k    1-d/k中找互质的对数,但是需要去重一下  (x,y)  (y,x) 这种情况. 这种情况出现 x  ,y ...

  2. HDU 1695 容斥

    又是求gcd=k的题,稍微有点不同的是,(i,j)有偏序关系,直接分块好像会出现问题,还好数据规模很小,直接暴力求就行了. /** @Date : 2017-09-15 18:21:35 * @Fil ...

  3. HDU 1695

    http://acm.hdu.edu.cn/showproblem.php?pid=1695 x是[1,b],y是[1,d],求GCD(x,y)=k的对数(x,y无序) 对x,y都除以k,则求GCD( ...

  4. HDU 1695 GCD 容斥

    GCD 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=1695 Description Given 5 integers: a, b, c, d, k ...

  5. HDU 1695 GCD(欧拉函数+容斥原理)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1695 题意:x位于区间[a, b],y位于区间[c, d],求满足GCD(x, y) = k的(x, ...

  6. HDU 1695 GCD 欧拉函数+容斥原理+质因数分解

    链接:http://acm.hdu.edu.cn/showproblem.php?pid=1695 题意:在[a,b]中的x,在[c,d]中的y,求x与y的最大公约数为k的组合有多少.(a=1, a ...

  7. HDU 1695 GCD#容斥原理

    http://acm.hdu.edu.cn/showproblem.php?pid=1695 翻译题目:给五个数a,b,c,d,k,其中恒a=c=1,x∈[a,b],y∈[c,d],求有多少组(x,y ...

  8. ●HDU 1695 GCD

    题链: http://acm.hdu.edu.cn/showproblem.php?pid=1695 题解: 容斥. 莫比乌斯反演,入门题. 问题化简:求满足x∈(1~n)和y∈(1~m),且gcd( ...

  9. hdu 1695 GCD 欧拉函数 + 容斥

    http://acm.hdu.edu.cn/showproblem.php?pid=1695 要求[L1, R1]和[L2, R2]中GCD是K的个数.那么只需要求[L1, R1 / K]  和 [L ...

随机推荐

  1. es6入门总结

    let和const命令 let命令 循环体的let变量只对花括号作用域可见,花括号外不可见 循环体的语句部分是一个父作用域,而循环体内部是一个单独的子作用域 let声明的变量不存在变量提升,未声明的使 ...

  2. Excel 2016 密码保护破解

    Excel 2016的密码保护可以区分为几个: 文件密码保护(Excel中叫做工作簿保护) 文件打开权限密码 文件修改权限密码 工作表保护 关于各个保护密码的设置方式请查阅其他资料,我的情况是之前自己 ...

  3. React 环境增加Redux ,React-Redux

    引入 Redux 的目的, 状态管理! React-Redux 就是完成一些粘合剂的作用. 简而化之的理解就是将数据放在store 中维护, 操作逻辑放在reducer中去写. 更功利的表达就是:  ...

  4. win10更新后出现System.ComponentModel.Win32Exception

    win10更新后出现System.ComponentModel.Win32Exception 我的环境是由于“sql server2012 无法连接到WMI提供程序”引起的 参考http://www. ...

  5. 性能测试过程中oracle数据库报ORA-27301 ORA-27302错

    最近在性能测试过程中发现,发现虚拟用户数上不去,加载到一定的数量应用端就报错,提示连接数据库出错.在测试的过程中查看web容器的线程池 数据源的连接池 都还有空闲,同时查看oracle的v$sessi ...

  6. C语言的split功能

    其它高级语言都有字符串的split功能,但C没有系统自带的,只能自己写一个了. void c_split(char *src, const char *separator, int maxlen, c ...

  7. MindFusion 中节点关键路径的遍历

    工作中总能遇到 一些 奇葩的需求,提出这些奇葩需求的人,多半也是奇葩的人,要么不懂相关的计算机软件知识,要么就是瞎扯蛋,异想天开,然而这些奇葩的需求,我也总能碰到.言规正传,在一次项目中,使用了 Mi ...

  8. Java使用Jedis操作Redis大全

    Java操作Redis需要导入两个jar: commons-pool2-2.4.2.jar jedis-2.1.0.jar package com.chinasofti.test; import ja ...

  9. 【人工智能】从零开始学好人工智能,AI知识体系和框架

    写在前面: 最近公司的业务方向开始向AI方向改变(人工智能+文娱),但是现阶段AI方面的知识还没有储备,所以作为测试,也开始学习这方面的知识,不掉队. 知识储备: 1.阶段一-高等数学       高 ...

  10. oo第一次总结博客

    一. 多项式求导问题描述 基本概念的声明: 带符号整数 支持前导 0 的带符号整数,符号可忽略,如:+02.-16.19260817 等. 因子 变量因子 幂函数 一般形式 由自变量x和指数组成,指数 ...