hdu5178(二分搜索)
来源:互联网 发布:本地同步软件 编辑:程序博客网 时间:2024/06/15 08:15
本题需要注意的地方:
1.数据量大,需要用到long long 类型。
2.需要使用二分法,否则会超时。
3.注意数据还需要排序。
#include<cstdio>#include<algorithm>//需要注意的是数据量大,用long long 类型typedef long long ll;int n;ll k;ll a[100001];using namespace std;void solve(){ ll ans = 0; for(int i = 0; i < n; i++){//先遍历每个元素,尝试找到第一个满足条件的元素 ll l, r, mid; l = i; r = n - 1; while(r >= l){ mid = (l + r)/2; if(a[mid] - a[i] > k){ r = mid - 1;// } else{ l = mid + 1; } } ans += r - i; } printf("%I64d\n", ans);}int main(){ int t; scanf("%d", &t); while(t--){ scanf("%I64d%I64d", &n, &k); for(int i = 0; i < n; i++){ scanf("%I64d", &a[i]); } sort(a, a + n); solve(); }}
阅读全文
1 0
- hdu5178(二分搜索)
- hdu5178 pairs
- 二分搜索
- 二分搜索
- 二分搜索
- 二分搜索
- 二分搜索
- 二分搜索
- 二分搜索
- 二分搜索
- 二分搜索
- 二分搜索
- 二分搜索
- 二分搜索
- 二分搜索
- 二分搜索
- 二分搜索
- 二分搜索
- 第一讲 Java语言概述
- C#泛型
- linux下如何查看某软件是否已安装
- Caffe学习笔记5--Caffe可视化和五种类型的层的实现和参数配置
- python sorted函数以及operator.itemgetter函数
- hdu5178(二分搜索)
- js 计算器(加减乘除)
- 梯度下降综述
- ADB通过WIFI连接Android设备
- AMOS分析技术(导航页)
- 操作符小节
- 下重命名文件或文件夹(mv命令与rename命令)
- 安卓中getString(R.string.x)报android.content.res.Resources$NotFoundException: String resource ID#0x7f070
- 和菜鸟一起学android4.0.3源码之硬件gps简单移植