用Stl,然后lowerbound操作的.........
查看原帖
用Stl,然后lowerbound操作的.........
563077
newmoreone楼主2024/9/23 00:56

其实可以不用二分 在 C++ 标准库中,std::set容器的insert成员函数插入元素后返回一个std::pair对象。这个pair对象包含两个元素: 第一个元素 (pair::first) 是一个迭代器,指向刚刚插入的元素的位置,或者是集合中已存在相同键值的元素的位置。 第二个元素 (pair::second) 是一个布尔值,表示插入是否成功: 如果值为true,表示插入了一个新的元素到集合中。 如果值为false,则说明集合中已经有具有相同键值的元素,因此没有执行实际的插入操作

如果返回的second是false,直接continue;

其他情况就需要前后算一下min即可,

需要特别处理边界的情况,即插入的元素是第一个或最后面一个;

2024/9/23 00:56
加载中...