社区讨论

关于 lower_bound 的重载优先级用法

学术版参与者 4已保存回复 9

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
9 条
当前快照
1 份
快照标识符
@lo8ypf6l
此快照首次捕获于
2023/10/28 02:44
2 年前
此快照最后确认于
2023/10/28 02:44
2 年前
查看原帖
RT,bdfs的时候看到这个:
CPP
int pos3=lower_bound(num,num+6,7,greater<int>())-num; //返回数组中第一个小于等于查询数的值
但是调代码的时候出现了问题,我于是试了一下,用了以下代码:
CPP
#include <bits/stdc++.h>
using namespace std;
int a[100]={0,3,12,17,33,34};
int main() {
	printf("%d\n",lower_bound(a+1,a+1+5,13,greater<int>()-a);
输了个 66,也就是 a.end()
不信邪手打了个 cmp
CPP
#include <bits/stdc++.h>
using namespace std;
bool cmp (int a,int b){return a>b;}
int a[100]={0,3,12,17,33,34};
int main() {
   printf("%d\n",lower_bound(a+1,a+1+5,13,cmp)-a);
}
输的还是 66……
所以如何重载 lower_bound 的优先级,bdfs无果。

回复

9 条回复,欢迎继续交流。

正在加载回复...