二分--LIGHTOJ 1088查找区间(水题)
来源:互联网 发布:linux 没有dump命令 编辑:程序博客网 时间:2024/05/16 10:15
#include <iostream>#include <cstdio>#include <cmath>using namespace std;const int maxN = 100005;int a[maxN];int t, tt;int n, q, x, y;int Bsearch_lower_bound(int x){ int l = 0, r = n - 1, mid = 0; while (l <= r) { mid = (l + r) >> 1; if (a[mid] < x) l = mid + 1; else r = mid - 1; } return l;}int Bsearch_upper_bound(int x){ int l = 0, r = n - 1, mid = 0; while (l <= r) { mid = (l + r) >> 1; if (a[mid] <= x) l = mid + 1; else r = mid - 1; } return l;}void solve(){ scanf("%d%d", &n, &q); printf("Case %d:\n", ++tt); for (int i = 0; i < n; i++) scanf("%d", &a[i]); for (int i = 0; i < q; i++) { scanf("%d%d", &x, &y); int l = Bsearch_lower_bound(x); int r = Bsearch_upper_bound(y); printf("%d\n", r - l); }}int main(){ scanf("%d", &t); while (t--) solve(); return 0;}
0 0
- 二分--LIGHTOJ 1088查找区间(水题)
- LightOJ _1138(二分查找)
- 二分查找(左闭右闭区间)
- 二分查找求解equal_range区间
- LightOJ 1297 - Largest Box (二分查找)
- LightOJ 1138 Trailing Zeroes (III) 二分查找
- lightoj-1138-Trailing Zeroes (III) -二分查找
- 二分查找算法(左闭右开区间)
- lightoj- 1138 - Trailing Zeroes (III)【思维】【二分查找】
- 基于二分查找法的数值区间查找
- Lightoj 1088 - Points in Segments 【二分】
- LightOJ 1088 - Points in Segments (二分)
- SOJ-2500(IP过滤,对区间排序,合并区间,然后对区间二分查找)
- lightoj 1150 - Ghosts! 【BFS + 二分查找 + 判二分图完美匹配】
- 区间覆盖判断;二分查找思想;归并思想;排序思想;
- 利用二分搜索,查找一个给定的值所在区间
- 二分算法查找数据所在区间索引值的例子
- 二分查找需要注意的地方~~~闭和开区间
- 随机生成一个三维数组,编程求深度的平均值,保存在一个二维数组中。
- Node.js 全局对象
- C# 读取Excel中的数据
- 架构师知识体系(1)--WEB架构师成长之路
- BASE64Decoder bASE64Decoder = new BASE64Decoder();报错解决方案
- 二分--LIGHTOJ 1088查找区间(水题)
- 尝试用库文件对程序进行封装
- mysql查询语句执行时间
- 11.PHP内核探索:嵌入式PHP
- 输入6个字符串,并对它们按从小到大的顺序排序后输出。
- TexturePacker的免费key获取方式
- PHP上传本地文件到服务器
- “神曲”引发的SEO思考
- /etc/inittab文件格式