AcWing 789. 数的范围
题目链接
https://www.acwing.com/problem/content/791/
思路
写一个划分x为左边界和有边界的整数二分方法即可
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define mod 1000000009
#define endl "\n"
#define PII pair<int,int>
ll ksm(ll a,ll b) {ll ans = 1;for(;b;b>>=1LL) {if(b & 1) ans = ans * a % mod;a = a * a % mod;}return ans;
}ll lowbit(ll x){return -x & x;}const int N = 2e6+10;
int n,q,a[N];
// 区间[l, r]被划分成[l, mid - 1]和[mid, r]
int findR(int l,int r,int x){while(l < r) {int mid = l + r + 1 >> 1;if(a[mid] <= x) l = mid;else r = mid - 1;}return r;
}
// 区间[l, r]被划分成[l, mid]和[mid + 1, r]
int findL(int l,int r,int x){while(l < r) {int mid = l + r >> 1;if(a[mid] >= x) r = mid;else l = mid + 1;}return r;
}int main()
{scanf("%d%d",&n,&q);for(int i = 0;i < n; ++i) {scanf("%d",&a[i]);}int x;while(q--){scanf("%d",&x);int k = findL(0,n-1,x);if(a[k] != x){printf("-1 -1\n");continue;}printf("%d ",k);k = findR(0,n-1,x);printf("%d\n",k);}return 0;
}
AcWing 789. 数的范围相关推荐
- AcWing 789. 数的范围 (整数二分)
AcWing 789. 数的范围 题意: 给定一个升序数组 输入一个数 输出这个数第一次出现的下标和最后一次出现的下标 如果这个数不存在则输出-1 -1 思路: 用两次二分 第一次用来找到key出现的 ...
- AcWing 790.数的三次方根
题解:数的三次方根 题目描述 思路分析 代码实现 题目描述 题目链接: https://www.acwing.com/problem/content/792/ 思路分析 这个题的思路可以参考AcWin ...
- Java124 0,AcWing 124. 数的进制转换java
package acwing寒假每日一题; import java.io.BufferedInputStream; import java.util.*; public class TransNumb ...
- 备战蓝桥杯—有边数限制的最短路 (bellman_ford+)——[AcWing]有边数限制的最短路
因为近期在学图,所以顺带的写一篇最短路的备战蓝桥杯文章. 最短路(单源) 所有边权都为正数有两种算法: 1.朴素Dijkstra O(n^2) 2.堆优化的Dijkstra O(mlogn ...
- 007.AcWing 790. 数的三次方根(002)
- 蓝桥杯C++ AB组辅导课 第二讲 二分与前缀和 Acwing
例题 AcWing 789. 数的范围 给定一个按照升序排列的长度为 n 的整数数组,以及 q 个查询. 对于每个查询,返回一个元素 k 的起始位置和终止位置(位置从 0 开始计数). 如果数组中不存 ...
- Acwing算法基础课学习笔记
Acwing学习笔记 第一章 基础算法 快速排序 归并排序 二分查找 前缀和与差分 差分 位运算 离散化 第二章 数据结构 单链表 双链表 栈 队列 单调栈 单调队列 KMP算法 Trie 并查集 堆 ...
- [AcWing算法基础课] 一.基础算法
Algorithms + Data Structures = Programs. --Niklaus Wirth 本章包括排序.二分.高精度.前缀和与差分.双指针算法.位运算.离散化.区间合并等内容 ...
- AcWing with LeetCode
算法目录 0.代码快查 1.基础算法 1.1 二分算法 1.2 双指针算法 1.3 前缀和与差分 1.4 区间和并 1.5 离散化 1.6 位运算 1.7 高精度加减乘除 2.数据结构 2.1 单链表 ...
最新文章
- webservice 暴漏接口_webService接口是什么?
- gprof 使用例程(转)
- @configurationproperties注解给属性赋值
- centOS安装Mysql指南
- javascript演变史_检查有史以来最著名JavaScript错误之一
- C#实现文件二进制存储
- Java 多态的特性和概念
- 一批工业机械网站交换友情链接
- Spark SQL面试题
- win10-ubuntu-软件配置-开机root无密码-风扇转速调节
- 计算机考研作息时间表,985学长强力推荐考研作息时间表!
- 树莓派RaspberryPi Zero W 快速安装tips
- 自己整理出来的java实现打印机打印小票
- 南京原市长季建业受贿1132万获刑15年
- 解决win10通过KMS激活的出现浏览器主页被修改为hao.qquu.com问题
- YOLO 系列损失函数
- 触发器(四、执行顺序控制)
- 深挖用户需求,教你4招搞定精准营销
- 基础——MCU的电源,复位和时钟系统(STM32为例)
- TPR 教学法是什么?
热门文章
- 光斑质心检测之曲线拟合求亚像素位置的三种方式
- 解决Latex编译报错:Command `\Bbbk‘ already defined. ...ol{\Bbbk} {\mathord}{AMSb}{“7C}
- Scrapy简单入门及实例讲解
- Video 视频播放防作弊和禁止下载
- 详解Python的装饰器
- Spring整合Struts2的两种方式
- Django学习笔记5-url
- 分析打开hdu 3335 (最小路径覆盖)
- 拼多多332亿美金市值超网易,黄铮离目标又近了一步!
- 【风马一族_软件】微软卸载工具_msicuu2.exe