关于lower_bound的优先级重载
可以选择重载小括号,或者直接写bool函数
struct cmp{
bool operator () (int a,int b)
{return a>b;}
};
lower_bound(a.begin(),a.end(),x,cmp());
或者
bool cmp (int a,int b)
{return a>b;}
lower_bound(a.begin(),a.end(),x,cmp);
lower_bound返回第一个>=x的指针,重载后返回第一个<=x的指针
upper_bound返回第一个>x的指针,重载后返回第一个<x的指针