有的时候代码底力会从STL运用上显现出来,导致我发现我还有好多STL的运用并不熟练
SET套结构体
set套结构体要重载<运算符
1 |
|
MAP套结构体
与set一样需要重载<运算符
1 |
|
优先队列套结构体很常见这里不多赘述 (似乎他的<与普通的定义相反?)
unordered_map套结构体
这个嵌套比较复杂首先需要重载==运算符然后我们还需要自己手写一个hash规则,用结构体里面重载size_t operator()之后再传入参数
1 |
|
lower_bound or upper_bound
这两个玩意都是二分,所以要先保证序列有序才行,如果我们要找降序序列中第一个小于等于的位置的话我们需要用
lower_bound(a+1,a+1+n,k,[](int a,int b){return a>b;});
结构体的话会有多维所以要先按照一维排序后重载函数即可