洛谷$P$2522 $Problem\ b\ [HAOI2011]$ 莫比乌斯反演
正解:莫比乌斯反演
解题报告:
首先看到这个显然就想到莫比乌斯反演$QwQ$?
就先瞎搞下呗$QwQ$
$gcd(x,y)=k$,即$gcd(\left \lfloor \frac{x}{k} \right \rfloor,\left \lfloor \frac{y}{k} \right \rfloor)=1$
然后这个,虽然以前推过几次辣,,,但还是重新推下,,,太久没碰这些东西辣/$kel\ kel\ kel$
设$F[k]$表示$gcd(x,y)$为$k$的倍数的数量,显然有$F[k]=\left \lfloor \frac{a}{k} \right \rfloor\cdot \left \lfloor \frac{b}{k} \right \rfloor$
然后再设$f[x]$表示$gcd(x,y)=k$的数量,则显然有$F[k]=\sum_{k|d} f[d]$
然后就直接上莫比乌斯反演就欧克辣,,,$f[k]=\sum_{k|d}\mu (\frac{k}{d})\cdot F[d]$.
然后对于询问$a\leq x\leq b,c\leq y\leq d$,显然求下$x\leq b,y\leq d$ & $x\leq b,y\leq c$ & $x\leq a,y\leq d$ & $x\leq a,y\leq c$,然后瞎容斥下就做完辣,,,$QwQ$
然后看这个复杂度的样子估计还要个数论分块,,,?不知道反正加个数论分块显然不亏嘻嘻,那就加呗$QwQ$
$over$,等下放代码$QAQ$
#include<bits/stdc++.h>
using namespace std;
#define il inline
#define gc getchar()
#define ri register int
#define rb register bool
#define rc register char
#define rp(i,x,y) for(ri i=x;i<=y;++i)
#define my(i,x,y) for(ri i=x;i>=y;--i) const int N=+;
int miu[N],pr[N],pr_cnt,sum[N];
bool is_prim[N]; il int read()
{
rc ch=gc;ri x=;rb y=;
while(ch!='-' && (ch>'' || ch<''))ch=gc;
if(ch=='-')ch=gc,y=;
while(ch>='' && ch<='')x=(x<<)+(x<<)+(ch^''),ch=gc;
return y?x:-x;
}
il void pre()
{
sum[]=miu[]=;
rp(i,,N-)
{
if(!is_prim[i])miu[i]=-,pr[++pr_cnt]=i;sum[i]=sum[i-]+miu[i];
rp(j,,pr_cnt){if(pr[j]*i>N-)break;is_prim[pr[j]*i]=;if(!(i%pr[j])){miu[i*pr[j]]=;break;}else miu[i*pr[j]]=-miu[i];}
}
}
il int cal(ri x,ri y,ri z)
{
x/=z;y/=z;int ret=;
for(ri i=,j;i<=min(x,y);i=j+){j=min(x/(x/i),y/(y/i));ret+=1ll*(sum[j]-sum[i-])*(x/i)*(y/i);}
return ret;
} int main()
{
// freopen("2522.in","r",stdin);freopen("2522.out","w",stdout);
pre();ri T=read();
while(T--){ri a=read()-,b=read(),c=read()-,d=read(),k=read();printf("%d\n",cal(a,c,k)+cal(b,d,k)-cal(b,c,k)-cal(a,d,k));}
return ;
}
洛谷$P$2522 $Problem\ b\ [HAOI2011]$ 莫比乌斯反演的更多相关文章
- 洛谷 P2522 [HAOI2011]Problem b (莫比乌斯反演+简单容斥)
题目描述 对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数. 输入输出格式 输入格式: 第一行一个整数 ...
- 洛谷P2522 [HAOI2011]Problem b (莫比乌斯反演+容斥)
题意:求$\sum_{i=a}^{b}\sum_{j=c}^{d}[gcd(i,j)==k]$(1<=a,b,c,d,k<=50000). 是洛谷P3455 [POI2007]ZAP-Qu ...
- 洛谷P2522 [HAOI2011]Problem b(莫比乌斯反演)
传送门 我们考虑容斥,设$ans(a,b)=\sum_{i=1}^a\sum_{j=1}^b[gcd(a,b)==k]$,这个东西可以和这一题一样去算洛谷P3455 [POI2007]ZAP-Quer ...
- 【BZOJ2301】【HAOI2011】Problem B(莫比乌斯反演)
[BZOJ2301][HAOI2011]Problem B(莫比乌斯反演) 题面 Description 对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y ...
- 【洛谷2522】[HAOI2011] Problem b(莫比乌斯反演)
点此看题面 大致题意: 求\(\sum_{x=a}^b\sum_{y=c}^d[gcd(x,y)==k]\). 关于另一道题目 在看这篇博客之前,如果你做过一道叫做[BZOJ1101][POI2007 ...
- BZOJ 2301 Problem b(莫比乌斯反演+分块优化)
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=37166 题意:对于给出的n个询问,每次求有多少个数对(x,y),满 ...
- BZOJ 2301 [HAOI2011]Problem b (分块 + 莫比乌斯反演)
2301: [HAOI2011]Problem b Time Limit: 50 Sec Memory Limit: 256 MBSubmit: 6519 Solved: 3026[Submit] ...
- BZOJ 2301: [HAOI2011]Problem b (莫比乌斯反演)
2301: [HAOI2011]Problem b Time Limit: 50 Sec Memory Limit: 256 MBSubmit: 436 Solved: 187[Submit][S ...
- 洛谷P2568 GCD (欧拉函数/莫比乌斯反演)
P2568 GCD 题目描述 给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的数对(x,y)有多少对. 输入输出格式 输入格式: 一个整数N 输出格式: 答案 输入输出样例 输入 ...
随机推荐
- JQuery------库
JQuery-------------模块.类库 集成了DOM/BOM/JS的类库 一.查找元素 DOM 10左右 JQuery: 选择器: 筛选: ps:版本: 1.x:兼容性最好.1.12推荐 2 ...
- 逆序对(POJ2299 Ultra-QuickSort)
#include<bits/stdc++.h> using namespace std; int n; ],b[],ans;//a为待排序数组,b为临时数组,ans为逆序对数 void m ...
- SDUT-2132_数据结构实验之栈与队列二:一般算术表达式转换成后缀式
数据结构实验之栈与队列二:一般算术表达式转换成后缀式 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 对于一个基于二元运 ...
- ReactDOM & DOM Elements
一.ReactDOM 1.1 render() ReactDOM.render(element,container,[callback]) 在container中渲染一个React元素,然后返回组件一 ...
- caffe 下一些参数的设置
weight_decay防止过拟合的参数,使用方式:1 样本越多,该值越小2 模型参数越多,该值越大一般建议值:weight_decay: 0.0005 lr_mult,decay_mult关于偏置与 ...
- 【CSS3】精美横向滚动菜单按钮
废话不多说,直接上图: 然后是代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8" ...
- Python--day66--Django模板语言关于静态文件路径的灵活写法
静态文件路径的灵活写法: 正规的讲解: 静态文件相关 {% static %} {% load static %} <img src="{% static "images/h ...
- springboot+thymeleaf 纯后台渲染偷懒版分页
分页的样式就是这样的 cotroller这里这么写,传给view总页数,现在的页数,下一页,上一页的信息 private String homeInfo(Model model) { Page< ...
- tensorflow -gpu安装,史上最新最简单的途径(不用自己装cuda,cdnn)
tensorflow -gpu安装首先,安装Anoconda1. 官网下载点我: 2.安装 点击 python 3.6 version自动下载x64版,下载好之后,然后安装. 如图,打上勾之后,一路n ...
- ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5\xC8\xFD' for column 'name' at row 1
ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5\xC8\xFD' for column 'name' at row 1 数据库字符集问 ...