STL
文章平均质量分 80
iYUNDI
iYUNDI
展开
-
[poj 3481]Double Queue[set || map][STL]
题意: 三种操作: 1 k p 向队伍中插入编号为k的优先级为p的客户 2 选择优先级最高的客户出队 3 选择优先级最低的客户出队 set: 可以利用set的有序性和首尾出队功能. //228K 297MS #include #include using namespace std; struct node { i原创 2013-08-09 20:51:46 · 965 阅读 · 0 评论 -
反向迭代器( rbegin, rend )[STL]
C++ primer (中文版第四版)第273页 9.3.2 begin和end成员 begin和end操作产生指向容器内第一个元素和最后一个元素的下一个位置的迭代器。这两个迭代器通常用于标记包含容器中所有元素的迭代范围。 c.begin() 返回一个迭代器,它指向容器c的第一个元素 c.end() 返回一个迭代器,它指向容器c的最后一个元素的下一个位置 c.rbegin转载 2013-08-29 17:58:00 · 1007 阅读 · 0 评论 -
A Brief Introduction to Multiset[STL]
multiset是库中一个非常有用的类型,它可以看成一个序列,插入一个数,删除一个数都能够在O(logn)的时间内完成,而且他能时刻保证序列中的数是有序的,而且序列中可以存在重复的数。 我们通过一个程序来看如何使用multiset。 注意,如果我们把h.erase(c)写成h.erase(*c),那么该语句就会把h中所有和*c相等的元素都删掉 我们可以定义multiset里面rec类型变量之间的小于关系的含义(这里以x为第一关键字为例),具体过程如下: 我们定义一个比较类cmp,cmp内部的operato原创 2013-08-31 19:16:45 · 843 阅读 · 0 评论 -
[HDU 4666]Hyperspace[最远曼哈顿距离][STL]
题意: 许多 k 维点, 求这些点之间的最远曼哈顿距离. 并且有 q 次操作, 插入一个点或者删除一个点. 每次操作之后均输出结果. 思路: 用"疑似绝对值"的思想, 维护每种状态下各点的计算值, 插入或删除一个点就更新一次每种状态(用multiset或map或priority_queue实现), 每次求ans时扫一遍最大差值即可. 为了练习STL, 每一个都实现一次.原创 2013-08-31 19:17:57 · 1316 阅读 · 0 评论