bzoj 1101 zap
gcd(x,y)=d-->gcd(x/d,y/d)=1。
即求Σ(i<=n/d)Σ(j<=m/d) e(gcd(i,j))
因为e=miu×1,可以卷积。
因为多组询问,需要sqrt(n)计算。
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#define int long long
using namespace std;
int n,m;
int pr[],su[],cnt,miu[];
int sum[];
void shai()
{
miu[]=;
for(int i=;i<=;i++)
{
if(!pr[i])su[++cnt]=i,pr[i]=i,miu[i]=-;
for(int j=;su[j]<=pr[i]&&su[j]*i<=&&j<=cnt;j++)
{
pr[su[j]*i]=su[j];
if(su[j]==pr[i])miu[su[j]*i]=;
else miu[su[j]*i]=miu[i]*(-);
}
}
for(int i=;i<=;i++)sum[i]=sum[i-]+miu[i];
return ;
}
signed main()
{
shai();
int cas;
scanf("%lld\n",&cas);
while(cas--)
{
int ans=;
int n,m;int d;
scanf("%lld%lld%lld",&n,&m,&d);
n/=d;m/=d;if(n>m)swap(n,m);
int r;
for(int i=;i<=n;i=r+)
{
int y=n/i;int x=m/i;r=min(n/y,m/x);
ans+=(sum[r]-sum[i-])*(x*y);
}
printf("%lld\n",ans);
}
return ;
}
bzoj 1101 zap的更多相关文章
- bzoj 1101 zap 莫比乌斯
1101: [POI2007]Zap Time Limit: 10 Sec Memory Limit: 162 MB Description FGD正在破解一段密码,他需要回答很多类似的问题:对于给 ...
- BZOJ 1101 Zap(莫比乌斯反演)
http://www.lydsy.com/JudgeOnline/problem.php?id=1101 给定a,b,d,求有多少gcd(x,y)==d(1<=x<=a&& ...
- bzoj 1101 Zap —— 莫比乌斯反演
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1101 直接莫比乌斯反演. 代码如下: #include<cstdio> #inc ...
- BZOJ 1101: [POI2007]Zap
1101: [POI2007]Zap Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2262 Solved: 895[Submit][Status] ...
- BZOJ 1101: [POI2007]Zap( 莫比乌斯反演 )
求 answer = ∑ [gcd(x, y) = d] (1 <= x <= a, 1 <= y <= b) . 令a' = a / d, b' = b / d, 化简一下得 ...
- BZOJ 1101 Luogu P3455 POI 2007 Zap (莫比乌斯反演+数论分块)
手动博客搬家: 本文发表于20171216 13:34:20, 原地址https://blog.csdn.net/suncongbo/article/details/78819470 URL: (Lu ...
- BZOJ 1101 [POI2007]Zap(莫比乌斯反演)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1101 [题目大意] 求[1,n][1,m]内gcd=k的情况 [题解] 考虑求[1,n ...
- bzoj 1101 [POI2007]Zap——反演
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1101 #include<cstdio> #include<cstring& ...
- BZOJ 1101 [POI2007]Zap | 第一道莫比乌斯反(繁)演(衍)
题目: http://www.lydsy.com/JudgeOnline/problem.php?id=1101 题解: http://www.cnblogs.com/mrha/p/8203612.h ...
随机推荐
- MIPAV - Talairach ACPC transform
源地址:http://blog.sina.com.cn/s/blog_64cfe24f0100h358.html 1.打开MIPAV软件,File>open image from disk> ...
- 启动PPT的时候一直配置vs2013的问题解决
前几天装了VS2013,结果发现每次启动powerpoint都要配置vs2013,虽然时间花的不多,可我看的就是碍眼,我都想把VS2013卸载来解决了.后来抱着试下的态度竟然在google上找到了解决 ...
- Linux 网络编程详解八
TCP/IP协议三次握手机制 TCP/IP是全双工通道,两端都可以读写,三次握手机制就是验证TCP/IP是否是全双工通道 1.客户端调用connect()函数,阻塞客户端进程,客户端向服务器发送数据包 ...
- hessian学习
hessian是一个采用二进制格式传输的服务框架,相对传统soap web service,更轻量,更快速.官网地址:http://hessian.caucho.com/ 目前已经支持N多语言,包括: ...
- left join 条件区别
t1: num | name-----+------ 1 | a 2 | b 3 | c t2: num | value-----+------- 1 | xxx 3 ...
- 理解AngularJS生命周期:利用ng-repeat动态解析自定义directive
ng-repeat是AngularJS中一个非常重要和有意思的directive,常见的用法之一是将某种自定义directive和ng-repeat一起使用,循环地来渲染开发者所需要的组件.比如现在有 ...
- Display: table-cell实现img、文字垂直居中
在文章开头先说明一下此方法的兼容性,IE8+以及其他现代浏览器都支持此属性. 直接献上一个demo吧 <!DOCTYPE html> <html> <head> & ...
- ContentProvider数据访问详解
ContentProvider数据访问详解 Android官方指出的数据存储方式总共有五种:Shared Preferences.网络存储.文件存储.外储存储.SQLite,这些存储方式一般都只是在一 ...
- HTTP 错误 500.24 - Internal Server Error的解决方法
错误提示: 最可能的原因: system.web/identity@impersonate 设置为 true. 解决办法: 现在经典模式 连微软都几乎放弃了 原设想是为iis不断升级 提供的一种兼 ...
- BroadcastReceiver之发送自定义无序广播
首先,发送一个自定义广播:(用sendBroadcast(intent)发送一条无序广播) public void click(View v){ Intent intent = new Intent( ...