STL学习
Marcus-Bao
这个作者很懒,什么都没留下…
展开
-
STL 中简单的set总结
1、set会根据特定的排序准则自动将元素排序,set中元素不允许重复,search操作效率会很高O(log n)2、关于set,必须说明的是set关联式容器。set作为一个容器也是用来存储同一数据类型的数据类型,并且能从一个数据集合中取出数据,在set中每个元素的值都唯一,不会重复添加,而且系统能根据元素的值自动进行排序。应该注意的是set中数元素的值不能直接被改变。C++原创 2016-12-11 15:47:16 · 1485 阅读 · 0 评论 -
CodeForces - 620D Professor GukiZ and Two Arrays 二分 | 双指针 STL
题目链接题意:给定N≤2×103的两个序列,给定0≤k≤2次交换2个序列中一个数的操作,使得|suma−sumb|最小思路:考虑N最大为2e3,所以考虑对交换0次或1次的我们可以直接暴力来求,枚举哪两个数交换,复杂度 O(N2) 1.交换一次 零次设sa-sb为s,假设交换a[i]和b[j]两个元素那么 sa’ = s-a原创 2017-08-30 23:19:18 · 475 阅读 · 0 评论 -
hdu 6085 Rikka with Candies bitset优化计数
题目链接题意:有N个人,每个人拥有Ai的钱,有M种物品,每种物品的数量都是无限的,我们现在有一个查询X,表示询问存在多少对购买方案对,使得Ai%Bj==X.输出方案数%2的结果。思路:由于只需要求出最后结果的奇偶性,所以可以考虑用位运算来优化加速. 我们知道a%b == k 等价于 (a-k) %b == 0. 这里有a>=k && b原创 2017-09-08 00:41:48 · 338 阅读 · 0 评论 -
2017 四川省赛 D Dynamic Graph 思维+拓扑排序+bitset 优化
PDF题意:给一个DAG(有向无环图) 有q次操作, 每次操作把一个点变成黑色或者变回来(这些点初始都是白色的), 问每次操作后这个图中起点到终点有路径且这条路径上面的点都是白色的.思路:这个题也可以有两种做法,首先我们最基本的暴力去做肯定超时,复杂度O(n*m*q),官方题解给出的做法就是,我们可以记录f[x][y]为x到y的路原创 2017-07-17 00:52:45 · 511 阅读 · 0 评论 -
CodeForces - 817B Makes And The Product STL
题目链接题意:i,j,k不等,找出ai*aj*ak最小的情况下有几种取法.可能是太久不刷题,水题都不会了,这个题思路很好想,排个序就行。然后分情况讨论,分情况讨论的时候我蒙了,a比较大记录个数不是很好记录,虽然那也可以做吧,但是感觉还是那样比较简单.感觉自己对这些STL库的东西还是不太熟悉,有时候想不起来不会灵活应用。这个题就分a[1]==a[3] 表示最小的三原创 2017-07-10 00:03:11 · 437 阅读 · 0 评论 -
#515. 「LibreOJ β Round #2」贪心只能过样例 背包+bitset优化
pdf题意:一共有 nnn个数,第 iii 个数 xix_ixi 可以取 [ai,bi][a_i , b_i][ai,bi] 中任意值。设 S=∑xi2S = \sum{{x_i}^2}S=∑xi2,求 SSS 种类数。输入格式第一行一个数 nnn。然后 nnn 行原创 2017-07-17 16:32:50 · 726 阅读 · 0 评论 -
hdu 5972 Regular Number bitset优化字符串匹配
题目链接题意:给一个长度为n的模式子串,子串的每个位置分别可以是一些数字,即一个位置可以被多个数字匹配。再给定一个母串,问子串可以在哪些位置和母串匹配,并且输出匹配成功后的所有子串.思路:建立一个n位的bitset,对于输入的对应位置i可匹配的数字k,将其b[k][i]位置置1,表示该数字可以在第i个位置匹配,维护一个bitsetans,每次将ans左移一位,并将最原创 2017-05-03 14:46:30 · 978 阅读 · 0 评论 -
zoj 3963 Heap Partition 贪心+upper_bound()
题目链接题意:构造尽可能少的一种结构,父节点的值小于等于子节点,而且子节点在序列中出现在父节点后面。而且每个父节点至多有两个子节点。思路: 这个题就是贪心来做就好,对于新来的一个点,我们看看在前面能否找到比该点值小的,如果有,就利用贪心的思想,找前面比他小的当中最大的那一个来,如果找不到的话就必须要新增加一个堆了.另外需要注意的是,由于一个父节点最多有两个子节点,所原创 2017-05-03 14:31:00 · 611 阅读 · 0 评论 -
CodeForces - 632 C The Smallest String Concatenation 思维瞎搞
题目题意:就是给你一堆字符串让你组成一个字典序最小的。思路: 重载一下字符串,然后就可以了。重载时只需要按照两个串连接起来最小的字典序排序就行#includeusing namespace std;const int maxn=1e5;string s[maxn];int n;int cmp(string s1,string s2){ return s1+原创 2017-05-24 15:35:09 · 528 阅读 · 0 评论 -
C++中全排列函数next_permutation 用法
全排列参考了两位的博客 感谢!http://blog.sina.com.cn/s/blog_9f7ea4390101101u.htmlhttp://blog.csdn.net/ac_gibson/article/details/45308645早就听说了了next_permutation 产生全排列的强大,一直到昨晚遇到一个对字符串产生全排列的问题才知道这个函数的强大,我们队是按照转载 2017-03-29 14:38:25 · 69175 阅读 · 13 评论 -
A - Overlapping Scenes UVALive - 4994 STL+全排列
题目链接题目描述:就是把几个字符串收尾拼接,可重合的部分去掉。求最小长度。思路:这个题用next_permutation 产生全排列 然后用substr产生子串去判断是否可链接 比写dfs省事多了 我也是通过这个题终于觉得学一下了#include#define PT printf#define SC scanfusing namespace std;cons原创 2017-04-01 18:23:21 · 1574 阅读 · 0 评论 -
总结一下string函数中的一些常用用法
参考博客 感谢!http://blog.csdn.net/saya_/article/details/47378239下面讲述的都是一些常用的函数:插入 insert 查找 find 删除 erase 取子串 substr 替换 replace1.插入 insertstr.insert(6," ") 在第6个位置插入一个字符串(在这里字符串我给省略了)转载 2017-03-29 15:12:27 · 1144 阅读 · 0 评论 -
5-9 集合相似度 (25分) set 模拟
题目链接思路: STL库真的是无敌...这个题直接用set 因为set不会重复加入一个元素,我们在寻找两个集合中相同元素的时候,可以直接调用find函数 如果找不到则返回end.#includeusing namespace std;seta[55];set::iterator ti;int main(){ int n,m,k,w,x,y; cin>>n; for(in原创 2017-03-11 18:54:43 · 648 阅读 · 0 评论 -
CodeForces - 367B Sereja ans Anagrams 队列+map
题目链接题意:给定n个元素的序列a[]和m个元素的序列b[],让你找到一个q使得a[q]、a[q+p]、…a[q+(m-1)*p]构成序列b。问你所有的q。首先这个题不需要去管位置是否一一对应...只要找出的元素能构成B思路: 首先我们需要明确只有1---p个位置是可能可行的位置,因为我们可以发现,你比如p=2 n=10 m=3 那么有 a1+a3+a5a2+a4+a6 a原创 2017-03-11 18:50:38 · 467 阅读 · 0 评论 -
5-10 列车调度 (25分) set OR 最长上升子序列
5-10 列车调度 (25分)火车站的列车调度铁轨的结构如下图所示。两端分别是一条入口(Entrance)轨道和一条出口(Exit)轨道,它们之间有N条平行的轨道。每趟列车从入口可以选择任意一条轨道进入,最后从出口离开。在图中有9趟列车,在入口处按照{8,4,2,5,3,9,1,6,7}的顺序排队等待进入。如果要求它们必须按序号递减的顺序从出口离开,则至少需要多少条平行铁轨用于调度?原创 2017-03-18 22:44:55 · 1365 阅读 · 0 评论 -
hihocoder 1513 小Hi的烦恼 五维数点求集合的交集 bitset用法
题目链接官方题解:小Hi:今天我们来解决“五维数点”问题。小Ho:什么是“五维数点”问题呢?小Hi:抽象来说,我们现在有n个在五维空间中的点(X_i,Y_i,Z_i,Q_i,W_i)。现在对于每个点,我们需要知道所有坐标均比它小的点的数量。小Ho:这个问题看起来似曾相似,如果是在二维空间中似乎是一个经典的运用线段树解决的题目。小Hi:对。但是现在是在原创 2017-05-01 19:19:17 · 1099 阅读 · 0 评论