第12课:二分综合测评

潘CSP200班

2024-07-15 13:59:49
2024-08-22 20:09:10

信息与公告

STL二分查找语法:用于有序序列的查找

从下标1开始:
int p = lower_bound(a+1, a+n+1, k)-a:返回数组a中大于等于k的第一个值的下标
int p = upper_bound(a+1, a+n+1, k)-a:返回数组a中大于k的第一个值的下标
注:如果没有找到大于等于k的数,返回n+1。

整数二分模板:找到满足条件的第1个值的下标,如果没找到则输出 n (r 的初始值)

long long l=0,r=n;
while(l<r)
{
	long long mid=(r-l)/2+l;
	if(满足条件)    	
		r=mid;		
	else		
		l=mid+1;		
}
cout<<l<<endl;   
状态 题目 统计
统计个数2 6 / 9 / 9
咒语和药水的成功对数 7 / 8 / 9
愤怒的牛 8 / 8 / 8
垦田计划 3 / 3 / 3