博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bzoj2301
阅读量:6332 次
发布时间:2019-06-22

本文共 1840 字,大约阅读时间需要 6 分钟。

差分一下答案在进行统计,要分块并预处理出莫比乌斯函数的前缀和

1 #include
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 #include
9 #include
10 #include
11 #include
12 #define rep(i,l,r) for(int i=l;i<(r);i++)13 #define clr(a,x) memset(a,x,sizeof(a))14 using namespace std;15 typedef long long ll;16 typedef pair
pii;17 #define mkp(a,b) make_pair(a,b)18 int readint(){19 int ans=0,f=1;20 char c=getchar();21 while(!isdigit(c)){22 if(c=='-') f=-1;23 c=getchar();24 }25 while(isdigit(c)){26 ans=ans*10+c-'0';27 c=getchar();28 }29 return ans*f;30 }31 const ll maxn=50009;32 ll n,cnt,a,b,c,d,k,mu[maxn],pri[maxn];33 bool p[maxn];34 void init(){35 mu[1]=1;36 rep(i,2,maxn){37 if(!p[i]){38 pri[cnt++]=i;mu[i]=-1;39 }40 rep(j,0,cnt){41 if(i*pri[j]>=maxn) break;42 p[i*pri[j]]=1;43 if(i%pri[j]) mu[i*pri[j]]=-mu[i];44 else{45 mu[i*pri[j]]=0;break;46 } 47 }48 }49 rep(i,2,maxn) mu[i]+=mu[i-1];50 }51 int f(int l,int r){52 l/=k;r/=k;53 if(l>r) swap(l,r);54 int ans=0;55 rep(L,1,l+1){56 int R=min(l/(l/L),r/(r/L));57 ans+=(mu[R]-mu[L-1])*(l/L)*(r/L);58 L=R;59 }60 return ans;61 }62 int main(){63 init();64 cin>>n;65 while(n--){66 a=readint();b=readint();c=readint();d=readint();k=readint();67 printf("%d\n",f(b,d)-f(a-1,d)-f(b,c-1)+f(a-1,c-1));68 }69 return 0;70 }
View Code

2301: [HAOI2011]Problem b

Time Limit: 50 Sec  Memory Limit: 256 MB
Submit: 2355  Solved: 996
[ ][ ][ ]

Description

 

对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数。

Input

第一行一个整数n,接下来n行每行五个整数,分别表示a、b、c、d、k

 

Output

共n行,每行一个整数表示满足要求的数对(x,y)的个数

 

Sample Input

2
2 5 1 5 1
1 5 1 5 2

Sample Output

14
3

HINT

 

100%的数据满足:1≤n≤50000,1≤a≤b≤50000,1≤c≤d≤50000,1≤k≤50000

 

Source

 
[ ][ ][ ]

转载于:https://www.cnblogs.com/chensiang/p/4975300.html

你可能感兴趣的文章
ios ios7 取消控制拉升
查看>>
182在屏幕中实现网格化视图效果
查看>>
本文摘录 - FlumeJava
查看>>
Scala学习(三)----数组相关操作
查看>>
Matlab基于学习------------------函数微分学
查看>>
Dundas 系列
查看>>
Windows的命令行查看,修改,删除,添加环境变量
查看>>
iOS 图文混排
查看>>
64. Minimum Path Sum
查看>>
Windows Live Writer 使用指南
查看>>
分析iOS Crash文件,使用命令符号化iOS Crash文件
查看>>
R学习笔记 第五篇:字符串操作
查看>>
在Mac OS下配置PHP开发环境
查看>>
(转)介绍下Nuget在传统Asp.net项目中的使用
查看>>
C# ArcEngine 实现点击要素高亮并弹出其属性
查看>>
初识GO语言——安装Go语言
查看>>
SDK命令行操作
查看>>
基于Bootstrap的DropDownList的JQuery组件的完善版
查看>>
EXTJS学习系列提高篇:第二十四篇(转载)作者殷良胜,ext2.2打造全新功能grid系列--阅增删改篇...
查看>>
Hadoop MapReduce编程 API入门系列之分区和合并(十四)
查看>>