news 2026/9/24 4:16:25

牛客题解-小红的区间查询

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
牛客题解-小红的区间查询

链接:https://ac.nowcoder.com/acm/contest/128186/A
来源:牛客网

题目描述

\hspace{15pt}小红拿到了两个整数 a,b(a<b)a,b\left(a < b\right)a,b(a<b)。现在她想知道 [l,r]\left[l,r \right][l,r] 内有多少元素 xxx 满足 x−ax - ax−a 是 x−bx-bx−b 的倍数,请你帮帮她。

输入描述:

\hspace{15pt}每个测试文件均包含多组测试数据。第一行输入一个整数 T(1≦T≦105)T\left(1\leqq T\leqq 10^5\right)T(1≦T≦105) 代表数据组数,每组测试数据描述如下:

\hspace{15pt}第一行输入四个整数 a,b,l,r(1≦a<b≦2×105,b<l≦r≦109)a,b,l,r\left(1\leqq a<b\leqq2\times 10^5,b< l\leqq r\leqq10^9\right)a,b,l,r(1≦a<b≦2×105,b<l≦r≦109)。

输出描述:

\hspace{15pt}对于每组测试数据,新起一行。输出一个整数,代表区间内符合条件的元素的数量。

示例1

输入

复制3 1 2 3 4 1 5 6 10 114 514 515 1000000000

3 1 2 3 4 1 5 6 10 114 514 515 1000000000

输出

复制1 3 15

1 3 15

说明

对于第一组数据,符合条件的元素仅有 333。

对于第二组数据,符合条件的元素有 6,7,96,7,96,7,9。

问题分析

条件:(x−a)%(x−b)==0

设 k=x−b ,则 x−a=k+(b−a)

条件变为:(k+(b−a))%k==0 ,即 (b−a)%k==0

所以 k 必须是 (b−a) 的约数,且 k=x−b>0 (因为 x>b ,由 b<l≤x 保证)

因此:x=b+d ,其中 d 是 (b−a) 的正约数

////暴力枚举(TLE) //#include <bits/stdc++.h> //using namespace std; //typedef long long ll; // //int main() //{ // ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); // int t; // cin >> t; // while(t--) // { // ll a, b, r, l, x, sum=0; // cin >> a >> b >> l >> r; // x = l; // while(x <= r) // { // if((x-a) % (x-b) == 0) // { // sum++; // //cout << "x =" << x << '\n'; // } // x++; // } // cout << sum <<'\n'; // } //} #include <bits/stdc++.h> using namespace std; typedef long long ll; int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int t; cin >> t; while(t--) { ll a, b, l, r; cin >> a >> b >> l >> r; ll diff = b - a; ll sum = 0; for(ll i = 1; i * i <= diff; i++) { if(diff % i == 0) { ll x1 = b + i; if(x1 >= l && x1 <= r) sum++; if(i * i != diff) { ll x2 = b + diff / i; if(x2 >= l && x2 <= r) sum++; } } } cout << sum << '\n'; } }

注意:

(b-a) % k = 0 -> b-a = n(x-b) -> x = (b-a)/n + b

n 有两个解:

  • 小的那个 n1 ≤diff​

  • 大的那个 n2 ≥diff​

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/21 23:43:59

基于深度学习YOLOv11的安检x光危险物识别检测系统(YOLOv11+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)

一、项目介绍 随着公共安全需求的日益增长&#xff0c;安检X光图像中的危险物品检测技术成为研究热点。本文基于YOLOv11深度学习算法&#xff0c;构建了一套高效准确的X光危险物品检测系统&#xff0c;支持18类常见危险物品&#xff08;如刀具、枪支、易燃物品等&#xff09;的…

作者头像 李华
网站建设 2026/9/22 1:57:28

哪些因素在损害孩子们的视力,做调节训练有用吗?

‍  是不是每次孩子写作业时&#xff0c;你都会忍不住提醒“把头抬起来”&#xff1f;是不是体检报告上&#xff0c;孩子的视力数值一次比一次低&#xff0c;让你满心焦虑&#xff1f;如今&#xff0c;我国儿童青少年近视率依然徘徊在50%左右&#xff0c;近视低龄化的趋势也未…

作者头像 李华
网站建设 2026/9/23 0:27:29

【小程序毕设全套源码+文档】基于Android的在线招聘平台的设计与实现(丰富项目+远程调试+讲解+定制)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/9/20 5:23:00

Ollama躺赚实测:零门槛批量做电子书,每月稳入2.9万?真相藏不住了

一、全网都在卷AI搞钱,唯独没人注意这个“隐形金矿” 普通人搞被动收入,早已卷到白热化:有人熬夜剪短视频,月入几千熬垮身体;有人跟风做带货,囤货压钱血本无归;还有人钻研AI绘画,练了半个月连门槛都没摸到。但最近,国外一个匿名网友的分享,直接颠覆了很多人的认知—…

作者头像 李华
网站建设 2026/9/20 8:56:52

多功能智能客服系统源码,部署后即可实现7×24小时自动化客户服务

温馨提示&#xff1a;文末有资源获取方式在数字化转型浪潮中&#xff0c;客户服务的智能化与系统化是企业必须面对的关键课题。我们精心打造的这款智能客服系统源码&#xff0c;以其全面的功能矩阵与灵活的架构设计&#xff0c;为企业提供了一套从客户接触到内部管理的完整数字…

作者头像 李华
网站建设 2026/9/20 20:32:40

IBM AIX 关键漏洞CVE-2025-36250深度解析与应对指南

IBM AIX 关键漏洞CVE-2025-36250深度解析与应对指南 项目标题与描述 CVE-2025-36250&#xff1a;IBM AIX系统远程代码执行漏洞 本项目为CVE-2025-36250漏洞的技术分析文档&#xff0c;该漏洞影响IBM AIX操作系统&#xff0c;CVSS评分为10.0分&#xff08;满分&#xff09;&a…

作者头像 李华