1. 程式人生 > >二分法的常用模板

二分法的常用模板

  • 第一種:

int low_bound(int A[],int n,int t)
{
	int i=0,j=n-1,m;
	while(i<=j)
	{
		m=i+(j-i)/2;
		if(t<=A[m])
		{
			j=m;
		}
		else
		{
			i=m+1;
		}
	}
	return i;
}

  • 第二種:

int upper_bound(int A[],int n,int t)
{
	int i=0,j=n-1,m;
	while(i<j)
	{
		m=i+(j-i)/2;
		if(t<
A[m]) { j=m; } else { i=m+1; } } return i; }

只是用來當備忘錄 : )