![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STL
文章平均质量分 57
vocaloid01
小菜鸟一只_(:з」∠)_前来膜拜各路大佬orz
展开
-
next_permutation & prev_permutation
1、碰到next_permutation(permutation:序列的意思)今天在TC上碰到一道简单题(SRM531 - Division Two - Level One),是求给定数组不按升序排列的最小字典序列(Sequence of numbers A is lexicographically smaller than B if A contains a smaller number on t转载 2017-09-08 10:13:44 · 177 阅读 · 0 评论 -
bitset大法好
bitset存储二进制数位。bitset就像一个bool类型的数组一样,但是有空间优化。bitset中的每个元素都能单独被访问,例如对于一个叫做a的bitset,表达式a[3]访问了它的第4个元素,就像数组一样。(但是输出单独访问结果不能用printf,和bitset有关的输出都用cout)另外bitset的大小在编译时就需要确定,也就是说bitset<>的尖括号中写的...原创 2018-09-21 11:23:53 · 5546 阅读 · 0 评论 -
C++ set自定义去重和比较函数
#include <iostream>#include <set> using namespace std;struct Node{ int id,value; Node(){} Node(int _id,int _value):id(_id),value(_value){} bool operator < (const Node& b)c...原创 2018-09-11 21:52:49 · 2836 阅读 · 4 评论 -
2018牛客暑期多校训练第三场——C Shuffle Cards(rope大法)
时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288KSpecial Judge, 64bit IO Format: %lld题目描述Eddy likes to play cards game since there are always lots of randomness in the game. For most of the car...原创 2018-07-27 12:16:36 · 189 阅读 · 0 评论 -
Rope大法(可持久化平衡树)
2008年OI集训论文上有介绍<对块状链表的一点研究>,其主要是结合了链表和数组各自的优点,链表中的节点指向每个数据块,即数组,并且记录数据的个数,然后分块查找和插入。头文件:#include <ext/rope>命名空间:using namespace __gnu_cxx基本操作:rope test;test.push_back(x);//在末尾添...原创 2018-07-27 10:34:05 · 1516 阅读 · 1 评论 -
C++ STL lower_bound,upper_bound的使用总结
头文件:#include <algorithm>时间复杂度:一次查询O(log n),n为数组长度。图示:lower_bound:功能:查找非递减序列[first,last) 内第一个大于或等于某个元素的位置。返回值:如果找到返回找到元素的地址否则返回last的地址。(这样不注意的话会越界,小心)用法:int t=lower_bound(a+l,a+r,key)-a;(a是数组)。up...原创 2018-06-05 17:15:08 · 8084 阅读 · 0 评论 -
C++STL——unique函数总结
头文件:#include <iostream>参数:和sort一样。两个参数——开始地址和结束地址(左闭右开)。返回值:去重之后的尾地址!!!作用:unique的作用是“去掉”容器中相邻元素的重复元素。解析:unique实质上是一个伪去除,它并不是真正把重复的元素删除,而是用不重复的元素把重复的元素覆盖了,所以总长度其实是不变的。(注意,网上有人说是把重复元素移动到...原创 2018-05-28 15:30:24 · 852 阅读 · 0 评论 -
c++实现各类型值转换为string
c++ stl中的stringstream可以方便的将各种类型值转换成string。头文件 #include <sstream>样例:#include <iostream>#include <sstream>using namespace std;int main(){ int a = 10; long long b = 11; string ...原创 2018-04-15 16:35:48 · 1233 阅读 · 0 评论 -
C++ STL Pair的使用
Pair的创建和初始化 pair<string,string> test1; pair<string,int> test2; 调用默认构造器对其初始化。所以,test1是包含两个空string类型的pair对象;test2中的int型成员获得0. C++代码 收藏代码pair<string, string> user("James","harden"); cout <转载 2017-10-14 15:11:53 · 211 阅读 · 0 评论 -
HDU 2014 - 青年歌手大奖赛_评委会打分
青年歌手大奖赛中,评委会给参赛选手打分。选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分,请编程输出某选手的得分。 Input 输入数据有多组,每组占一行,每行的第一个数是n(2#include <cstdio>#include <iostream>#include <algorithm>#include <cmath>using namespace std;double原创 2017-10-02 22:01:55 · 399 阅读 · 0 评论 -
STL中与二分查找相关的4个函数(转)
二分查找的原理非常简单,但写出的代码中很容易含有很多Bug,二分查找一文中讲解过如何实现不同类型的二分查找,但是否一定要自己去实现二分查找呢?答案显然是否定的,本文将讲解STL中与二分查找有关函数的具体使用方法及其实现原理。函数使用STL中与二分查找相关的函数有4个,分别是lower_bound, upper_bound, equal_range和binary_search,下面通过一个简单的例子说转载 2017-09-19 13:05:05 · 362 阅读 · 0 评论 -
c++ map自定义比较函数(按key和按value)
按key://自定义map的keytypedef struct UrlKey{ uint64_t dwBussID; uint64_t dwVersion; uint64_t dwHashUrl;}UrlKey; //自定义map的valuetypedef struct UrlValue{ string strUrl;}UrlValue; ...原创 2018-10-05 14:35:03 · 14109 阅读 · 0 评论