[HAOI2011]Problem b BZOJ2301 数学 原创 fish04 2022-05-27 19:46:37 博主文章分类:数学 ©著作权 文章标签 #include #define i++ 文章分类 后端开发 ©著作权归作者所有:来自51CTO博客作者fish04的原创作品,请联系作者获取转载授权,否则将追究法律责任 题目描述对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数。输入输出格式输入格式:第一行一个整数n,接下来n行每行五个整数,分别表示a、b、c、d、k输出格式:共n行,每行一个整数表示满足要求的数对(x,y)的个数输入输出样例输入样例#1:复制22 5 1 5 11 5 1 5 2输出样例#1: 复制143说明100%的数据满足:1≤n≤50000,1≤a≤b≤50000,1≤c≤d≤50000,1≤k≤50000#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include//#include//#pragma GCC optimize(2)using namespace std;#define maxn 200005#define inf 10000000005ll//#define INF 1e18#define rdint(x) scanf("%d",&x)#define rdllt(x) scanf("%lld",&x)#define rdult(x) scanf("%lu",&x)#define rdlf(x) scanf("%lf",&x)#define rdstr(x) scanf("%s",x)#define mclr(x,a) memset((x),a,sizeof(x))typedef long long ll;typedef unsigned long long ull;typedef unsigned int U;#define ms(x) memset((x),0,sizeof(x))const long long int mod = 1e9 + 7;#define Mod 1000000000#define sq(x) (x)*(x)#define eps 1e-5typedef pair pii;#define pi acos(-1.0)//const int N = 1005;#define REP(i,n) for(int i=0;i<(n);i++)typedef pair pii;inline int rd() { int x = 0; char c = getchar(); bool f = false; while (!isdigit(c)) { if (c == '-') f = true; c = getchar(); } while (isdigit(c)) { x = (x << 1) + (x << 3) + (c ^ 48); c = getchar(); } return f ? -x : x;}ll gcd(ll a, ll b) { return b == 0 ? a : gcd(b, a%b);}int sqr(int x) { return x * x; }/*ll ans;ll exgcd(ll a, ll b, ll &x, ll &y) { if (!b) { x = 1; y = 0; return a; } ans = exgcd(b, a%b, x, y); ll t = x; x = y; y = t - a / b * y; return ans;}*/int a, b, c, d, K;int mu[maxn], vis[maxn], sum[maxn + 10];void init() { for (int i = 1; i <= 50004; i++)mu[i] = 1, vis[i] = 0; for (int i = 2; i <= 50004; i++) { if (vis[i])continue; mu[i] = -1; for (int j = 2 * i; j <= 50004; j += i) { vis[j] = 1; if ((j / i) % i == 0)mu[j] = 0; else mu[j] *= -1; } } for (int i = 1; i <= 50004; i++)sum[i] = sum[i - 1] + mu[i];}int main(){ // ios::sync_with_stdio(0); init(); int T = rd(); while (T--) { cin >> a >> b >> c >> d >> K; ll ans1 = 0, ans2 = 0, ans3 = 0, ans4 = 0; for (int l = 1, r; l <= (min(b, d) / K); l = r + 1) { r = min((b / K) / (b / K / l), (d / K) / (d / K / l)); ans1 += 1ll * (sum[r] - sum[l - 1])*(b / K / l)*(d / K / l); } for (int l = 1, r; l <= (min(a - 1, c - 1) / K); l = r + 1) { r = min((a - 1) / K / ((a - 1) / K / l), (c - 1) / K / ((c - 1) / K / l)); ans2 += 1ll * (sum[r] - sum[l - 1])*((a - 1) / K / l)*((c - 1) / K / l); } for (int l = 1, r; l <= (min(a - 1, d) / K); l = r + 1) { r = min((a - 1) / K / ((a - 1) / K / l), (d) / K / ((d) / K / l)); ans3 += 1ll * (sum[r] - sum[l - 1])*((a - 1) / K / l)*((d) / K / l); } for (int l = 1, r; l <= (min(b, c - 1) / K); l = r + 1) { r = min((b) / K / ((b) / K / l), (c - 1) / K / ((c - 1) / K / l)); ans4 += 1ll * (sum[r] - sum[l - 1])*((b) / K / l)*((c - 1) / K / l); } cout << (ll)(ans1 + ans2 - ans3 - ans4) << endl; } return 0;} EPFL - Fighting 赞 收藏 评论 分享 举报 上一篇:Gym - 101845D 计算几何 下一篇:分配问题 费用流 提问和评论都可以,用心的回复会被更多人看到 评论 发布评论 全部评论 () 最热 最新 相关文章 【高中数学/基本不等式】已知a,b皆为正实数,且a+b=2 求:1/a+4/b的最小值?(2011年重庆理科卷第七题) 使用基本不等式法和判别式法解决问题:“已知a,b皆为正实数,且a+b=2 求:1/a+4/b的最小值?”,并用Canvas绘制函数图线验证之。 高中数学 基本不等式 【高中数学/指数函数】比大小:a=1.02,b=e^0.02 用指数函数和导数的知识辨析1.02和e^0.02的大小,并用Canvas绘图验证之。 高中数学 指数 导数 【高中数学之基本不等式】已知:a,b皆为正实数且1/a+1/(b+2)=1/2 求:a+b的最小值? 用“化二为一”法求解基本不等式问题:已知:a,b皆为正实数且1/a+1/(b+2)=1/2 求:a+b的最小值? 高中数学 基本不等式 [HAOI2011]Problem b BZOJ2301 数学 [HAOI2011]Problem b BZOJ2301 数学 输入格式:第一行一个整数n,接下来n行每行五个整数,分别表示a、b、c、d、k输出格式:共n行,每行... #include #define i++ bzoj 2301 [HAOI2011]Problem b 题目链接:[HAOI2011]Problem b题目大意:给你a,b,c,d,k五个数, #include i++ ios BZOJ 2301 [HAOI2011]Problem b (莫比乌斯反演) 题目链接: BZOJ 2301题意: 对于给出的n n个询问,每次求有多少个数对(x,y) (x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y)=k a≤x≤b,c≤y≤d,且gcd(x,y) = k。 100% 100\%的数据满足:1≤n≤50000,1≤a≤b≤50000,1≤c≤d≤50000,1≤k≤50000 1≤n≤50000,1≤a≤b≤50000,1≤c≤d≤50000 BZOJ 莫比乌斯反演 数学 取值 i++ [500留念] bzoj 2301 [HAOI2011]Problem b mobius #define #include Problem bzoj 2301: [HAOI2011]Problem b mobius反演 RE http://www.lydsy.com/JudgeOnline/problem.php?id=2301 设f(i)为在区间[1, n]和区间[1, m]中 #include ios 5e BZOJ2301:[HAOI2011]Problem b(莫比乌斯反演,容斥) 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、kOutput共n行,每行一个整数表示满足要求的数对(x,y)的个数Sample Input22 5 1 5 11 莫比乌斯反演 容斥 IT BZOJ 2301([HAOI2011]Problem b-mobius反演) [Submit][Status][Discuss]Description对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为 #include #define i++ 【BZOJ】2301: [HAOI2011]Problem b(莫比乌斯+分块) [HAOI2011]Problem b(莫比乌斯+分块) OI 数论 bzoj 分块 莫比乌斯 [HAOI2011]Problem b "嘟嘟嘟" 看到求区间的,一个很好的思路就是转换成前缀和相减。那么这道题就是二维前缀和。 容易列出 $$\sum _ {i = 1} ^ {n} \sum _{j = 1} ^ {m} [gcd(i, j) = k]$$ 然后就是套路的推导了,跟 "这道题" 一模一样,看我的题解吧 "[POI200 编程开发 C 教程 【bzoj2301&&luogu2522】[HAOI2011]Problem b http://www.elijahqi.win/2017/07/02/bzoj2301/ 题目描述 对于给出的n个询问 #include 输入输出 复杂度 BZOJ 2301: [HAOI2011]Problem b(莫比乌斯反演+数论分块) Time Limit:50 SecMemory Limit:256 MBSubmit:8210Solved:4024[Submit][Status][Discuss]Description对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数。Input... 数据 分块 时间复杂度 5e c代码 [BZOJ2301][HAOI2011]Problem b [BZOJ2301][HAOI2011]Problem b 试题描述 对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数。 对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且 #include 数据 git #define ios [bzoj2301: [HAOI2011]Problem b] 乞讨 #include #include #include #include #include #include using namespace std;typedef long long LL;inline int read(){ int x = 0,f = 1; char ch = getcha... #include 分块 ios 容斥原理 预处理 bzoj 2301: [HAOI2011]Problem b 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行,每行一个整数表示满足要 莫比乌斯反演 巧解 容斥定理 #include #define [bzoj2301]Problem b 同[bzoj1101]Zap,容斥即可。 1 #include<bits/stdc++.h> 2 using namespace std; 3 int t,a,b,c,d,k,f[50005],vis[100005],p[50005]; 4 void mobies(int n){ 5 memset( 数学-莫比乌斯反演 数学-容斥 数学-数论分块 数学-线性筛 i++ BZOJ 2301: [HAOI2011]Problem b(莫比乌斯反演) http://www.lydsy.com/JudgeOnline/problem.php?id=2301 题意:对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数。 思路: 先简单介绍一下莫比乌斯反演在数 #include 分块 i++ ios php BZOJ 2301 [HAOI2011]Problem b (分块 + 莫比乌斯反演) 2301: [HAOI2011]Problem b 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、 #include #define 数据 时间复杂度 ios plink如何自动yes GWASGWAS全称“全基因组关联分析”,使用统计模型找到与性状关联的位点,用于分子标记选择(MAS)或者基因定位。 简单来讲,就是找出基因中哪些序列变异(SNP)与疾病相关。即就是统计一个数,找出与表型最有显著性意义的那些基因(位点)。分析方法有:逻辑回归(表型数据为二元);线性回归(表型数据为连续性变量);表型数据正态分析(如果不是正态分布,需转换处理为正态分布)。R包、plink和EMMAX plink如何自动yes vim 数据 bash 关联分析 将用CPU计算的模型转为GPu计算 yolo5模型训练1.yolov5自己的模型训练1.1 git下载对应的源码到服务器1.2 从最新的 YOLOv5版本自动下载模型。1.3 detect.py 推断1.4 train.py进行训练1.5 yolo的原理2.训练自己的模型2.1 Data下面新建如图目录Mydata2.1 lableimg进行数据标注的图形2.2 数据集2.3 train.py调整data数据集2.4 开始训练 1 将用CPU计算的模型转为GPu计算 python 深度学习 开发语言 数据集 图像分类 数据集照片很大 机器学习的十大图像分类数据集 为了帮助构建对象识别模型,场景识别模型等,编制了最佳图像分类数据集的列表。这些数据集的范围和大小各不相同,可以适应各种用例。此外数据集已分为以下几类:医学成像,农业和场景识别等。 医学图像分类数据集 1. 递归蜂窝图像分类 –此数据来自递归2019挑战。竞赛的目标是利用生物显微镜数据开发可识别复制品的模型。关于比赛的 图像分类 数据集照片很大 数据集 图像分类 tensorflow python自定义tensorrt插件 pliuginv2 大家好,我是溪夜。当作为声音设计师或技术音频的你完成了 Python 脚本时,除了感叹这门语言的便利性和丰富的第三方库,可能也会思考,为什么现有的 Python GUI 库都这么麻烦?毕竟要为团队中非程序背景的同事开发工具,看得见的界面无疑比命令行的用户体验更加友好。这一系列分享的目的,就是为了打通脚本和 GUI 程序之间的障碍,把开发图形界面这个浪费时间的过程彻底简单化,让技术音频工作中的小工具 tkinter 设计工具 pycharm window app 开发语言 控件 开发环境 图形界面 mybatis操作mysql的TEXT字段 MyBatis知识概括MyBatis介绍MyBatis-全局配置文件MyBatis-映射文件MyBatis-动态SQLOGNL表达式Mybatis使用OGNLMyBatis-缓存机制MyBatis-逆向工程MyBatis-工作原理MyBatis-插件开发MyBatis实用场景 MyBatis介绍MyBatis简介:MyBatis 是支持定制化 SQL、存储过程以及高级 映射的优秀的持久层框架。M mybatis 数据库 配置文件 Java