[笔记]一些STL用法
2024-09-27 18:31:50
参考资料:STL 在 OI 中的应用
离散化
std::unique
功能:对有序的容器重新排列,将第一次出现的元素从前往后排,其他重复出现的元素依次排在后面
返回值:返回迭代器,迭代器指向的是重复元素的首地址
std::lower_bound
lower_bound()返回一个 iterator 它指向在[first,last)标记的有序序列中可以插入value,而不会破坏容器顺序的第一个位置,而这个位置标记了第一个大于等于value 的值。
ForwardIter lower_bound(ForwardIter first, ForwardIter last,const _Tp& val)算法返回一个非递减序列[first, last)中的第一个大于等于值val的位置。
std::upper_bound
upper_bound()返回一个 iterator 它指向在[first,last)标记的有序序列中可以插入value,而不会破坏容器顺序的第一个位置,而这个位置标记了第一个大于value 的值。这两个函数为C++ STL内的函数。
ForwardIter upper_bound(ForwardIter first, ForwardIter last, const _Tp& val)算法返回一个非递减序列[first, last)中第一个大于val的位置。
std::sort(b + 1, b + cnt + 1);
int *end = std::unique(b + 1, b + cnt + 1);
for(int i = 1; i <= n; i++)
a[i] = lower_bound(b + 1, end, a[i]) - b;
最新文章
- 记一次WinForm中屏蔽空格键对按钮的作用
- DataStructure 排序 源码实现
- tree view
- Pinyin 输入法安装 opensuse 13 gnome
- JDBC读取新插入Oracle数据库Sequence值的5种方法
- JavaScript中的Function(函数)对象详解
- 在CentOS 7 上搭建LAMP
- 分布式文件系统--GFS
- ganglia单播配置
- 参加persist.sys物业写权限的方法
- 操作系统内核Hack:(三)引导程序制作
- WebUtils【MD5加密(基于MessageDigest)】
- Dubbo 泛化调用的参数解析问题及一个强大的参数解析工具 PojoUtils
- 关于为什么会涉足easyui
- .NET Core Community 第二个千星项目诞生:Util
- CodeMirror 在线代码编辑器
- Saiku调用WS接口(十四)
- 理解jQuery中$.get、$.post、$.getJSON和$.ajax的用法
- 【转载】sql注入之入门
- input type=file 选择图片并且实现预览效果的实例
热门文章
- 高并发连接导致打开文件过多:java.io.IOException: Too many open files 解决方法
- SSM-动态SQL
- SpringBoot自动配置注解原理解析
- 操作Linux系统环境变量的几种方法
- centos每天自动备份mysql数据库
- MVC基础篇—控制器与视图数据的传递
- angularjs通过ng-change和watch两种方式实现对表单输入改变的监控
- elasticsearch6.7 01.入门指南(3)
- 设计模式-享元模式(FlyWeight)
- Git实战手册(三): stash解惑与妙用