当前位置: 首页 > wzjs >正文

天河做网站技术sem推广和seo的区别

天河做网站技术,sem推广和seo的区别,通付盾 公司网站建设,ftp怎么重新上传网站审题: 本题需要我们将数组中包含在区间x~y之间的数据个数找到并输出 思路: 方法一:暴力解法 首先我们可以直接遍历一次数组,找到x的索引,然后再找到y的索引,并计算最终的元素个数,这里就要有O&a…

审题:
本题需要我们将数组中包含在区间x~y之间的数据个数找到并输出

思路:
方法一:暴力解法

首先我们可以直接遍历一次数组,找到x的索引,然后再找到y的索引,并计算最终的元素个数,这里就要有O(n)的时间复杂度,且由于是多组数据又要进行q次。综上,时间复杂度为O(nq),而n为1e5,q为1e5,运行次数就要达到1e10.一定会超时

方法二:二分查找

对于左边界,我们可以将数组划分为小于x和大于等于x的区域。对于右边界,我们可以将数组划分为大于y和小于等于y的区域。

这就说明数组的划分具有二段性,此时我们就可以分贝对x和y进行二分查找了

对于寻找大于等于x的左边界:
1.mid的计算:(left+right)/2

因为是要让right靠近left寻找左边界

2.更新策略:
当a[mid]小于x的时候,说明mid前面包含自身的索引区域都不是左边界的候选区域了,直接让left=mid+1.

当a[mid]大于等于x的时候,虽然mid右边区域是大于等于x边界的区域,但是一定不是最左的边界了,所以让right = mid,之所以不能等于mid-1,是因为mid有可能是左边界

3.尾处理

若最终left等于right后的索引对应的数据值是小于x的,说明数组中所有数据的值都是小于x的,此时一定没有数据落在我们的x~y区间中,直接输出0,然后进入下一组判断即可

对于寻找小于等于y的右边界:
1.mid的计算:(left+right+1)/2

2.更新策略:原理与左边界查找一样

3.尾处理:判断a[left]是否大于y,若大于说明数组中没有数据落在区间x~y之间,也是输出0并进行下一组判断

解题:
 

#include<iostream>
using namespace std;
typedef long long ll;
const int N = 1e5+10;
int n,q;
int a[N];
int x,y;
int main()
{//数据录入cin >> n;for(int i = 0; i < n; i++){cin >> a[i];}cin >> q;//多组数据二分查找while(q--){cin >> x >> y;int mid = 0;//查找大于等于x的左边界int pos1 = 0;//左边界ll left = 0;ll right = n-1;while(left < right){mid = (left+right)/2;if(a[mid] >= x){right = mid;}else{left = mid + 1;}}if(a[left] < x)//所有元素都小于x{cout << 0 << endl;continue;}else{pos1 = left;}//查找小于等于y的右边界int pos2 = 0;//右边界left = 0;right = n-1;while(left < right){mid = (left+right+1)/2;if(a[mid] <= y){left = mid;}else{right = mid - 1;}}if(a[left] > y)//所有元素都大于y{cout << 0 << endl;continue;}else{pos2 = left;}cout << pos2-pos1+1 << endl;}return 0;
}

若是正常的找到左右边界就用pos1或pos2记录下来最后进行计算然后输出

牛可乐和魔法封印

http://www.dtcms.com/wzjs/252278.html

相关文章:

  • 怎样免费注册网站域名网上售卖平台有哪些
  • 卫生室可以做网站吗网推技巧
  • 微信网页版官网二维码zac博客seo
  • 化妆品网站制作需要搜什么关键词能找到网站
  • wordpress二级目录伪静态seo服务外包费用
  • 网站建设属于无形资产哪一类大型网站建站公司
  • 软件开发背景介绍window优化大师
  • 光明乳业网站建设情况seo技术教学视频
  • 响应式网站国内外现状武汉疫情最新动态
  • php如何做局域网的网站建设百度官网认证免费
  • 服装网站设计公司产品推广文案100字
  • 微商如何做网站引流搜狗推广登录平台
  • 门户网站开发的价格软文
  • 德州市德城区城乡建设局网站seo优化排名技术百度教程
  • 用php做网站出现的问题网络推广怎么做方案
  • 如何做网站站长抖音宣传推广方案
  • 帮别人做网站的合作协议黑龙江网络推广好做吗
  • 做网站的图片传进去很模糊全网整合营销
  • php做网站常见实例qq关键词排名优化
  • 徐州手机网站建设制作常用的网络推广的方法有哪些
  • 建设网站报价单网络竞价推广托管公司
  • wordpress 修改目录id青岛seo博客
  • 网站绿色色调设计如何获取网站的seo
  • 龙岗区住房和建设局网站打不开如何制作百度网页
  • 怎么做购物车网站免费留电话号码的广告
  • 静态网站建设实训报告百度关键词分析
  • 站长工具综合查询ipcfa三级和一二级关系大吗
  • 做美食的视频网站谷歌sem和seo区别
  • 双语网站建设报价西安网站seo技术
  • 投标网站怎么做aso推广优化