#include<bits/stdc++.h>
#include<unordered_map>
#define endl '\n'
using namespace std;
vector<int>v;
//不需要二维存储,堆在前面的已经判定好是放哪条隧道的那些没用
int main() {
int n,a;
cin >> n;
for (int i = 0; i < n; ++i) {
cin >> a;
auto it=upper_bound(v.begin(), v.end(), a);//二分查找,有两种用法和函数
if (it != v.end())
*it = a;
else
v.push_back(a);
}
cout << v.size();
}
就是说。。特意来发一个优快云 希望能帮到大家
本文介绍如何使用C++的`upper_bound`函数进行二分查找,并演示了如何在已排序的整数向量`v`中高效插入新元素。博客重点在于简化操作并提升代码效率。
2099

被折叠的 条评论
为什么被折叠?



