首页 > 其他分享 >进一步探讨二分

进一步探讨二分

时间:2023-07-16 16:01:37浏览次数:32  
标签:二分 小于 int 探讨 mid 严格 进一步

二分看似简单,但需注意细枝末节

接下来简单探讨几种查询

以严格大于x的第一位数为例子

//序列为m ,x为查询的数 
int find(int x){//假设序列长为n; 
	int l=1,r=n;
	while(l<=r){
		int mid=(l+r)>>1;
		if(m[mid]<=x) l=mid+1;
		else r=mid-1; 
	}//最后出现一定会出现 l==r,此时mid==l 
	// 若m[mid]<=x,则m[mid+1]>x;
	//若m[mid]>x,则 m[l]>x,m[mid-1]<x 
	return m[l];
}

严格大于等于x的情况,只需要去掉等号号即可
严格小于x的情况,将小于符号改为大于符号即可
严格小于等于x的情况,也只需要去掉等号即可

写题过程中还有具体的探讨,可以从这几种方法中迁移应用

标签:二分,小于,int,探讨,mid,严格,进一步
From: https://www.cnblogs.com/guiyou/p/17557985.html

相关文章

  • 整体二分 学习笔记
    对多个答案同时二分。每次将答案在\([l,r)\)中的询问按答案与\(\text{mid}\)的关系丢进两个\([l,\text{mid})\)和\([\text{mid},r)\)的std::vector里,递归求解即可。递归终止的条件:可能的答案区间长度为\(1\),此时答案唯一确定。例题:带修区间\(k\)小将修改和询......
  • LeetCode 658. Find K Closest Elements 二分+双指针
    Givenasortedintegerarrayarr,twointegerskandx,returnthekclosestintegerstoxinthearray.Theresultshouldalsobesortedinascendingorder.Anintegeraisclosertoxthananintegerbif:|a-x|<|b-x|,or|a-x|==|b-x|an......
  • 二分查找法 的代码实现(JS版)
    递归版本:constBinarySearch=(function(){/***内部二分查找算法*@param{number[]}nums-有序数组*@param{number}l-左端点*@param{number}r-右端点*@param{number}target-目标数值*/constsearch=funct......
  • python,质谱数据,加噪声后用小波神经网络,二分类预测
    #库的导入importnumpyasnpimportpandasaspdimportmath#激活函数deftanh(x):return(np.exp(x)-np.exp(-x))/(np.exp(x)+np.exp(-x))#激活函数偏导数defde_tanh(x):return(1-x**2)#小波基函数defwavelet(x):return(math.cos(1.75*x))*(np.......
  • WQS二分/带权二分/凸包优化
    WQS二分/带权二分/凸包优化应用范围限制个数:给定一些物品和选物品的限制条件,要求刚好选\(m\)个,让你最大化(最小化)权值。单调性:选的物品越多,权值越大(越小)。分析1.原理解释:假设限制不固定,当选\(x\)个时,最大权值为\(f(x)\)。算法的核心就是将“选取物品”这一操作赋......
  • 关于线程问题的探讨(售票问题)
    packageSellTickets;publicclassSellTickets01implementsRunnable{privatestaticintticketNum=100;@Overridepublicvoidrun(){while(true){if(ticketNum<=0){System.out.pr......
  • Resnet18实现二分类
    前面一篇内容讲解了如何利用Pytorch实现ResNet,这一篇我们用ResNet18实现一个二分类。接下来从模型、数据及训练三个方面展开。一、目标利用ResNet18将以下数据分为两类class_0class_1二、模型ResNet系列的模型在上一篇已经详细介绍了,这里采用ResNet18。1.模型导入......
  • 算法小菜鸟成长记录Day01-二分查找和双重指针
    二分查找和双重指针今天是代码随想录刷题的第一天,刚开始刷的时候昏昏欲睡,其中用时3h主要实现以下几个部分二分查找:其中二分查找中其收获最大部分就在于对左开右闭区间的理解,如果都是闭区间也就是【a,b】,那么在while中的条件就为while(left<=right),确保其中是拥有元素也就是......
  • 小波神经网络,二分类,python
    小波神经网络参考博客https://blog.csdn.net/weixin_42051846/article/details/128765295?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168915375016800215081571%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=16891537501680021508......
  • 二分图学习笔记
    定义对于一个无向图\(G=(V,E)\),如果存在点集\(A,B\),满足\(a\neq\varnothing\),\(b\neq\varnothing\),\(A\capB=\varnothing\),\(A\cupB=V\),且\(\forallu,v\inA\)或\(u,v\inB\),都有\((u,v)\notinE\),则称这个图是一个二分图,\(A\)称为这个二分图的左部,\(B\)称为右部。......