STL
兜率工
XJTU 硕士研究生在读
展开
-
Producing Snow
C.time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard output Alice likes snow a lot! Unfortunately, this year’s winter is already over, and she can’...原创 2018-03-12 16:02:20 · 206 阅读 · 0 评论 -
STL中容器的删除操作。
第九条 1.删除c容器中所有值为1963的元素。//删除c容器中所有值为1963的元素。//当c是vector,string,deque时,erase-remove习惯用法是删除特定值元素的最好办法c.erase(remove(c.begin,c.end,1963),c.end);//对于listc.remove(1963);//对于关联容器c.erase(1963);...原创 2018-03-18 17:41:46 · 341 阅读 · 0 评论 -
C++标准里 string和wstring
可以参考这里 有待进一步做解释原创 2018-03-13 21:25:35 · 1013 阅读 · 0 评论 -
如何在vector ,list ,deque 中使用做出权衡
vector默认使用的是序列类型,当需要频繁的向序列中间插入和删除操作时,应使用list,当大多数插入和删除操作发生在序列头部和尾部时,deque是应该考虑的数据结构。 STL...原创 2018-03-13 22:14:03 · 125 阅读 · 0 评论 -
set<string>不区分大小写
#include<iostream>#include<cstdio>#include<string>#include<cstdlib>#include<cctype>#include <string.h>#include<set>using namespace std;int ciStringC原创 2018-04-03 16:05:06 · 3562 阅读 · 1 评论 -
STL map的高效插入和更新
#include<iostream>#include<cstdio>#include<string>#include<cstdlib>#include<cctype>#include<string.h>#include<map>using namespace std;template&l原创 2018-04-03 17:27:04 · 2042 阅读 · 0 评论 -
equal_range
first跟lower_bound相等,secound跟upper_bound相等#include<iostream>#include<cstdio>#include<string>#include<cstdlib>#include<cctype>#include<string.h>#include<ma...原创 2018-04-03 20:21:01 · 184 阅读 · 0 评论 -
UVA 630 (multimap)
#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<string>#include<map>#include<vector>#include<cmath>#inclu原创 2018-05-01 18:01:12 · 225 阅读 · 0 评论 -
UVA 246 10-20-30 (哈希)&(队列)
哈希实现: 感觉吴永辉老师为了让我们更好的理解也是煞费苦心呀。 写了这么难的哈希。 虽然我也不知道灵感从何而来,也不知道他这哈希的取值是如何选取的。 先贴上代码把:#include &lt;bits/stdc++.h&gt;using namespace std;#define mem(a) memset(a,0,sizeof(a))const int p=199999...原创 2018-04-25 01:37:37 · 290 阅读 · 0 评论 -
ZOJ 2724 二叉堆的插入与删除
STL#include<iostream>#include<queue>#include<cstdio>#include<algorithm>#include<cstring>using namespace std;struct node{ char s[100]; int pri,idx; ...原创 2018-05-21 16:18:52 · 299 阅读 · 0 评论 -
UVA 12538 rope容器
rope容器用于块状链表容器计算,基本用法跟string一样,但内部是用平衡树实现,各种操作的复杂度都是O(log n),十分简单高效。你可以把crope换成string试试,我试过,会爆栈。#include<iostream>#include<cstdio>#include<ext/rope>#include<string>usi...原创 2018-05-23 21:22:09 · 193 阅读 · 0 评论 -
STL之heap用法
STL中并没有把heap作为一种容器组件,heap的实现亦需要更低一层的容器组件(诸如list,array,vector)作为其底层机制。Heap是一个类属算法,包含在algorithm头文件中。虽然STL中关于heap默认调整成的是大顶堆,但却可以让用户利用自定义的compare_fuction函数实现大顶堆或小顶堆。heap的低层机制vector本身就是一个类模板,heap基于vector便实...原创 2018-05-24 13:40:58 · 438 阅读 · 0 评论 -
Codeforces Round #486 (Div. 3) C. Equal Sums
题意是求解给定n个序列,任意选取两个序列,从一个序列中删掉一个元素,从而使这两个序列的值相同。 而菜鸡的我第一次没做出来。。。。。 思路: 因为要找两组序列值相同的即: euqal= remove(i,a); 删除i列中第a个元素。 || equal=remove(j,b); 删除j序列中第b个元素。 从而想到映射的关系: 用STL中的map存储,sum作为key,(...原创 2018-06-02 09:54:25 · 355 阅读 · 0 评论 -
HDU - 6085 Rikka with Candies ( bitsset 优化计数)
题意:给出两个数组A,B,然后给出Q个询问K,计算满足 A[ i ]%B[ j ]=K 的对数 ( i , j ) 。分析:因为 A % B = K所以 ( A - K ) % B = 0所以 ( A - K ) = B * J且易得 K 严格 小于 B 且 B 数组中比 K 小的数对答案并不产生贡献。那么便可以拿出B数组的最大的数,从大到小进行更新答案借助 b...原创 2019-04-09 16:26:05 · 146 阅读 · 0 评论 -
C++ STL 全排列函数详解
利用全排列函数实现全排列一、概念 从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列。当m=n时所有的排列情况叫全排列。如果这组数有n个,那么全排列数为n!个。 比如a,b,c的全排列一共有3!= 6 种 分别是{a, b, c}、{a, c, b}、{b, a, c}、{b, c, a}、{c, a, b}、{c, b, a}。二、常用...原创 2018-02-21 20:38:31 · 1876 阅读 · 0 评论 -
string字符串的截取
标准库的string有一个substr函数用来截取子字符串。一般使用时传入两个参数,第一个是开始的坐标(第一个字符是0),第二个是截取的长度。#include <iostream>#include <string>using namespace std;int main(int argc, char* argv[]){ string name("...原创 2018-03-01 09:39:01 · 1170 阅读 · 0 评论 -
用vector容器给map排序
//题目描述:找寻一堆数据中哪个数据出现的最多;//第一种思路:用c语言直接存放数组;//第二种思路:用map存放,存放到vector中 //vector容器 中关于map对象的排序; struct cmpByValue { bool operator()(const PAIR& left, const PAIR& right) { ...原创 2018-01-29 18:36:51 · 934 阅读 · 4 评论 -
STL丑数(set+优先队列)
Ugly numbers are numbers whose only prime factors are 2, 3 or 5. The sequence1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, ...shows the first 11 ugly numbers. By convention, 1 is included. Write a program to f...原创 2018-01-29 20:46:51 · 656 阅读 · 0 评论 -
STL(总结)
STL手册 http://www.cplusplus.com/reference/stl/ 1.set中常用的方法 begin() ,返回set容器的第一个元素end() ,返回set容器的最后一个元素clear() ,删除set容器中的所有的元素empty() ,判断set容器是否为空max_size() ,...原创 2018-01-29 19:41:36 · 308 阅读 · 0 评论 -
库函数二分法lower_bound upper_bound
lower_bound(a,a+cnt,n);查找n在a数组中的位置,n返回a[i]位置的指针;比如说我并没有找到那个数,加入一个的数组里边就有5个数,分别是1,1,1,3,5,而我需要找的那个数就是2,怎么返回呢小编告诉你哦,就是返回那个第一个大于2的数的地址,就是返回3的地址upper_bound(a,a+cnt,n);查找n在a数组中的位置,n>a[i];不过这个唯一原创 2018-01-30 17:27:50 · 392 阅读 · 0 评论