Hdu5178
Hdu5178
题意:
题目给你N个点,问有多少对点的长度小于K 。
解法:
首先将所给的坐标从大到小排序,则此题转化为:对排序后的新数列,对每个左边的\(x_a\)找到它右边最远的 $ x_b $ 使得 $ x_a - x_b \leq k $,累计所有的 $ b-a $ 的和即可。
具体实现可以使用二分。
CODE:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
const int N = 1e5 + 5;
#define LL long long
int n, k, T,v[N];
LL ans;
inline int work(int x, int tmp) {
int l = x, r = n, mid = (l + r) >> 1;
while(l <= r) {
if(v[mid] <= tmp)
l = mid + 1;
else r = mid-1;
mid = (l + r) >> 1;
}
return mid;
}
int main () {
scanf ("%d", & T);
while(T--) {
ans = 0;
scanf("%d%d",&n,&k);
for(int i = 1 ; i <= n ; ++i)
scanf ("%d", & v[i]);
sort(v + 1, v + n + 1);
for(int i = 1 ; i <= n ; ++i) {
int tmp = v[i] + k;
ans += (work(i, tmp) - i);
}
printf ("%lld\n", ans);
}
return 0;
}
Hdu5178的更多相关文章
- hdu5178 尺取
会爆int /* 给定数轴上一些点对,问有多少点对之间的距离差不超过k 点对排序后尺取法:枚举每个左边界,找到一个右边界使得 */ #include<bits/stdc++.h> #def ...
- hdu5178 pairs
题目 //打注释的是我的代码,一直超时,别人三行代码顶我一坨,同是尺取法,为什么 我的复杂度就这么高呢? #include <cstdio> #include <queue> ...
随机推荐
- VS2019打开项目加载失败:无法找到 .NET Core SDK。请检查确保已安装此项且 global.json 中指定的版本(如有)与所安装的版本相匹配。
问题描述: 用VS2019创建了asp.net core项目,正常运行:过几天后,再次打开,发现无法加载项目,报错无法找到.net core sdk. 分析过程: 首先怀疑环境变量的问题,重新设置 ...
- SpringBoot mysql出现The server time zone value '�й���ʱ��' is unrecogni
MySql :8.0.18 引入的mysql驱动: SpringBoot整合Mybatis的框架,在访问Controller的时候 : ava.sql.SQLException: The server ...
- Point to class member
#include <iostream> using namespace std; class Student { public: Student(string n, int nu):nam ...
- Error:Unable to start the daemon process. This problem might be caused by incorrect configuration of
我试了修改或者配置gradle文件没有成功解决的 ,所以试了这个解决方案 试了下这个是可以解决的. 变量名 _JAVA_OPTIONS 变量值 -Djava.net.preferIPv4Sta ...
- xposed获取context 的方法
// 应用被加壳,采用这种方式加载类 try { XposedHelpers.findAndHookMethod(Application.class, "attach", Cont ...
- 7.Java集合-Arrays类实现原理及源码分析
Java集合---Arrays类源码解析 转自:http://www.cnblogs.com/ITtangtang/p/3948765.html 一.Arrays.sort()数组排序 Java A ...
- XML文件解析之DOM解析
XML文件是一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便.基本的解析方式包括DOM解析和SAX解析,具体来说包括DOM解析,SAX解析,DOM4J解 ...
- flask小结
http通讯过程 https://www.cnblogs.com/andy9468/p/10871079.html 1.flask开发环境 https://www.cnblogs.com/andy94 ...
- vue axios传参报错的解决方法
今天有人问同一套后台系统为什么jquery可以正常使用,axios却报错呢,下面总结如下: 总的来说是jquery和axios传参类型不同,那为什么jquery和axios请求时传参类型不同? 1)j ...
- zookeeper:3
zoo.cfg配置文件 tickTime=2000 :zookeeper中最小的时间单位长度 (ms). initLimit=10 :follower节点启动后与leader节点完成数据同步的时间 ...