模板二分函数求助xwx
  • 板块学术版
  • 楼主zhc9426
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/3/8 15:12
  • 上次更新2023/10/23 22:42:28
查看原帖
模板二分函数求助xwx
592849
zhc9426楼主2023/3/8 15:12

rt,某一个题里二分函数炸了,看了一下正解,找不到区别

注:
l为左端点,r为右端点,uke是vector<int>
int finded(int x, int l, int r){
	if (l >= r - 1) {
		return (r);
	}
	int mid = (l + r - 1) >> 1;
	
	if(uke[mid] > x) 
		return finded(x, l, mid);	
	else 
		return finded(x, mid, r - 1); 
}//仅仅是二分炸了,原因不明 

/*正解
int finded(int x){
	int l = 0, r = uke.size() - 1;
	while (l < r){ 	
		int mid = (l + r) >> 1;
		if(uke[mid] >= x) r = mid;
		else l = mid + 1;
	}
	return r + 1;
}
*/
2023/3/8 15:12
加载中...