hdu1695

求1<=i<=n&&1<=j<=m,gcd(i,j)=k的(i,j)的对数

最后的结果f(k)=Σ(1<=x<=n/k)mu[x]*(n/(x*k))*(m/(x*k))

遍历的复杂度是O(n/k),按理来说是会t的,但是这题过了,更好的办法是用分块降低到O(sqrt(n/k))

详细介绍请看:链接

这题要(i,j)和(j,i)算重复的,所以要减去

//#pragma comment(linker, "/stack:200000000")
//#pragma GCC optimize("Ofast,no-stack-protector")
//#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
//#pragma GCC optimize("unroll-loops")
#include<bits/stdc++.h>
#define fi first
#define se second
#define mp make_pair
#define pb push_back
#define pi acos(-1.0)
#define ll long long
#define mod 1000000007
#define C 0.5772156649
#define ls l,m,rt<<1
#define rs m+1,r,rt<<1|1
#define pil pair<int,ll>
#define pii pair<int,int>
#define ull unsigned long long
#define base 1000000000000000000
#define fio ios::sync_with_stdio(false);cin.tie(0) using namespace std; const double g=10.0,eps=1e-;
const int N=+,maxn=+,inf=0x3f3f3f3f; int mu[N],prime[N],sum[N];
bool mark[N];
void init()
{
mu[]=;
int cnt=;
for(int i=;i<N;i++)
{
if(!mark[i])prime[++cnt]=i,mu[i]=-;
for(int j=;j<=cnt;j++)
{
int t=i*prime[j];
if(t>N)break;
mark[t]=;
if(i%prime[j]==){mu[t]=;break;}
else mu[t]=-mu[i];
}
}
for(int i=;i<N;i++)sum[i]=sum[i-]+mu[i];
}
int main()
{
init();
int t,cnt=;
scanf("%d",&t);
while(t--)
{
ll a,b,c,d,k;
scanf("%lld%lld%lld%lld%lld",&a,&b,&c,&d,&k);
if(!k)
{
printf("Case %d: 0\n",++cnt);
continue;
}
if(b>d)swap(b,d);
b/=k,d/=k;
ll ans=,ans1=;
for(ll i=,last=;i<=b;i=last+)
{
last=min(b/(b/i),d/(d/i));
ans+=(ll)(sum[last]-sum[i-])*(b/i)*(d/i);
}
for(ll i=,last=;i<=b;i=last+)
{
last=b/(b/i);
ans1+=(ll)(sum[last]-sum[i-])*(b/i)*(b/i);
}
printf("Case %d: %lld\n",++cnt,ans-ans1/);
}
return ;
}
/******************** ********************/

hdu1695莫比乌斯反演模板题的更多相关文章

  1. hdu1695(莫比乌斯反演模板)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1695 题意: 对于 a, b, c, d, k . 有 x 属于 [a, b],  y 属于 [c, ...

  2. BZOJ 2440 完全平方数 莫比乌斯反演模板题

    题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=2440 题目大意: 求第k个无平方因子的数 思路: 二分答案x,求1-x中有多少个平方因 ...

  3. hdu1695 莫比乌斯反演

    莫比乌斯反演:可参考论文:<POI XIV Stage.1 <Queries>解题报告By Kwc-Oliver> 求莫比乌斯函数mu[i]:(kuangbin模板) http ...

  4. SPOJ VLATTICE Visible Lattice Points (莫比乌斯反演基础题)

    Visible Lattice Points Consider a N*N*N lattice. One corner is at (0,0,0) and the opposite one is at ...

  5. hdu1695(莫比乌斯反演+容斥)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1695 题目是求 在区间[a,b]选一个数x,区间[c,d]选一个数y,求满足gcd(x,y) = k ...

  6. HDU-1695 莫比乌斯反演

    这里学习一下莫比乌斯反演 翻看了很多书,发现莫比乌斯反演,准确来说不是一种固有的公式,而是一种法则. 我们定义F(n),为f(d)的和函数,而定义f(n)为某儿算术函数. 反演公式1:反演n的因子时 ...

  7. HDU 1695 GCD (莫比乌斯反演模板)

    GCD Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submis ...

  8. BZOJ1011 莫比乌斯反演(基础题

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1101 [题目大意] 求[1,n][1,m]内gcd=k的情况 [题解] 考虑求[1,n ...

  9. hdu4746莫比乌斯反演进阶题

    Mophues Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 327670/327670 K (Java/Others)Total S ...

随机推荐

  1. pdb

    core code: import pdb pdb.set_trace() 单步执行并进入:s 单步执行并不进入:n 下一断点:c 当前位置:where 从当前函数返回:r 退出:q pdb comm ...

  2. > >> 将错误输出到文件

    将错误输出到文件 转载:https://blog.csdn.net/woshinia/article/details/18040063 1.覆盖写入: echo "日志内容"  & ...

  3. 浅谈 Python 的 with 语句(转)

    add by zhj: 上下文管理器是对try-except-finally的再封装而已,只能算是优化代码这一级别的feature 原文:http://www.ibm.com/developerwor ...

  4. pandas 修改指定列中所有内容

    如下图: 读取出来的 DataFrame “code” 列内容格式为:“浪潮信息(000977.XSHE)” 格式,目标效果是:000977.XSHE 代码: df["code"] ...

  5. mysql乱码修改character_set_server

    [mac] 1.使用任何一个客房端或者命令行查询一下编码,俺用的是MySQLWorkbench SHOW VARIABLES LIKE 'character_set_%'; 2.发现编码是charac ...

  6. thinkphp使用阿里云OSS最新SDK,文件部署

    这文章是建立在你已经注册号阿里云的OSS,和创建好Bucket前提下: 其实阿里云的帮助与文档写的很详细,这里只说一下源码方式 1.phpsdk下载地址(摘自阿里云OSS的帮助与文档)(也有我自己下载 ...

  7. getElementsByClassName - 兼容详细介绍

    概述 JavaScript中getElementsByClassName()方法IE8及以下不支持.本文通过使用正则表达式实 现1个兼容方案. 本文内容分为3个部分. 浏览器原生getElements ...

  8. HTML,CSS,Javascript,JQuery

    HTML 一套浏览器认识的规则 标签 1.<head></head> 2.<title></title> 3.<body></body ...

  9. HDOJ 2203 亲和串 【KMP】

    HDOJ 2203 亲和串 [KMP] Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...

  10. hadoop28---注解

    spring.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="ht ...