——stl——————
文章平均质量分 58
Lazines_by
好吧,我要工作了
展开
-
集合相似度set
set的set_intersection用法: 对两个set集合取交运算,存在一个新的set函数之中。 集合相似度时间限制 400 ms内存限制 65536 kB代码长度限制 8000 B判题程序 Standard 作者 陈越给定两个整数集合,它们的相似度定义为:Nc/Nt*100%。其中Nc是两个集合都有的不相等整数的个数,Nt是两个集合一共有的不相等整数的个数。你的任务就是计算任意一对给定原创 2016-07-05 13:17:15 · 575 阅读 · 0 评论 -
Loj 515(bitset)
题意:给出n个区间,然后从这些区间中取一个数,然后求将取出的数的平方相加得到的数的种类数。 思路:因为n #include using namespace std; typedef long long ll; typedef pair P; #define fi first #define se second #define INF 0x3f3f3f3f #define cl原创 2017-09-09 10:49:43 · 256 阅读 · 0 评论 -
hdu 6085(bitset优化)
题意: 存在两个长度分别为 n,m 的数组 A,B 。有 q 个询问,每个询问给出一个数字 k ,可以得到使得 AimodBj=k 的种数。求该种数的奇偶性。 思路:对A数组建立一个bitset,然后对于B数组,对它的倍数建立一个bitset,当枚举i为余数的时候,大于i的B[j]的倍数都存放在了第二个bitset里面了。因为这里讨论的奇偶性,所以当一个地方出现两个数的时候,直接flip原创 2017-09-09 10:07:43 · 437 阅读 · 0 评论 -
poj2796 (单调栈)
题意:给出一个数组,然后求出区间和与区间最小值 的乘积最大的区间。 思路:可以用线段树之内的来做,不过这里用单调栈来做更加巧妙。有点类似与poj2559,用栈处理出大于它的数的区间最左端和最右端,那么的话这个点就是这个左端和右端的最小值了。区间和的话就用前缀和就行了,很巧妙。 #include #include #include #include #include using原创 2017-08-23 11:24:06 · 458 阅读 · 0 评论 -
poj2443(bitset入门)
题意:给出一些集合,然后判断两个数是否在同一个集合中。 思路:对于每一个元素,构建一个bitset,然后如果它在i这个元素中的话,这个bitset的这个值变成1。查询的时候,直接看两个元素对应的bitset与一下是否有1出现,有的话就说明有在同一个集合。 #include #include #include #include #include using namespace std;原创 2017-08-10 09:35:58 · 531 阅读 · 0 评论 -
codeforces675D set
二叉排序树,直接模拟会超时,用set搞一搞; #include #include #include #include #include #include #include #include using namespace std; const int maxn = 100000 + 10; #define INF 0x3f3f3f3f #define clr(x,y) memset(x,y,si原创 2017-05-20 11:26:14 · 310 阅读 · 0 评论 -
String中c_str()、data()、copy(p,n)函数的用法
转载自http://www.cnblogs.com/qlwy/archive/2012/03/25/2416937.html String中c_str()、data()、copy(p,n)函数的用法 标准库的string类提供了3个成员函数来从一个string得到c类型的字符数组:c_str()、data()、copy(p,n)。 1. c_str():生成一个c转载 2017-04-27 16:13:43 · 2335 阅读 · 2 评论 -
bitset
转载自http://www.cnblogs.com/Ash-ly/p/5890024.html STL容器 -- Bitset 核心内容:Bitset 是 STL 中的二进制容器, 存放的时 bit 位元素, 每一位只占一个 bit 位, 取值 0 或者 1, 可以像整形元素一样按位与或非, 并且大大优化了时间和空间复杂度. 头文件: #include 构造方法:转载 2017-04-28 14:27:17 · 216 阅读 · 0 评论 -
优先队列的使用
poj5939 题目是要用堆去做,但是没学过数据结构,不会。 所以就想采用STL来做了,根据题意,我们需要一个有顺序的容器,set有从小到大的功能,但是set不能有重复元素,所以放弃;map是两个元素,所以也放弃;所以后面就采用了优先队列了; 题意:定义一个数组,初始化为空。在数组上执行两种操作:1、增添1个元素,把1个新的元素放入数组。2、输出并删除数组中最小的数。使用堆结构实现上述功能的高原创 2016-07-11 16:58:19 · 758 阅读 · 0 评论 -
set--常见成员函数及基本用法
转载自:http://www.cnblogs.com/zyxStar/p/4542835.html c++ stl集合set介绍 c++ stl集合(Set)是一种包含已排序对象的关联容器。 set/multiset会根据待定的排序准则,自动将元素排序。两者不同在于前者不允许元素重复,而后者允许。 c++ stl集合set介绍 c++ stl集合(Set)是转载 2017-03-12 10:49:41 · 509 阅读 · 0 评论 -
deque和map的使用(poj3074)
deque和map的使用双向队列这道题开始是用map做的,利用的是map的按键值的从小到大插入到map的性质,这样的话就能对这个优先值进行处理了。 后面看到同学的一个题解,是用的双端队列做。。 陈列出来吧:map:#include<iostream> #include<map> using namespace std; int main() { map<int ,int >m;原创 2016-08-05 19:38:04 · 375 阅读 · 1 评论 -
栈
选修课习题3 38:39:30 168:00:00 Overview Problem Status Rank (42)ABCDEFGHIA - 栈 Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & %llu SubmitStatusDescriptionYou are given a string consi原创 2016-04-12 11:33:25 · 254 阅读 · 0 评论 -
vector学习
http://www.cnblogs.com/wang7/archive/2012/04/27/2474138.html 这个网址的vector总结的不错,我的vector就是上面学的 下面写一些学习笔记吧 这个vector还可以对string进行排序,我现在对这个还不熟悉,先把其他的用法写在上面#include<iostream> #include<vector> #include<algo原创 2016-06-07 14:01:14 · 280 阅读 · 0 评论 -
hdu 5033(单调栈)
当初比赛的时候本来想着单调栈来着,但是不知道维护的是什么?因为对于查询的点不同的话他们的斜率也会跟着变化,所以后边就没写。 现在知道将查询的各个点也当成一个高度为0的楼,只需维护对于每一栋楼楼顶上的点的斜率。要维护一个从栈底到栈顶斜率一直递增的单调栈就行,那么的话对于他的一个端点就是栈顶元素。因为栈顶元素是斜率最大的。 PS :非常巧妙,当初怎们没有想到。 #incl原创 2017-10-21 10:33:21 · 289 阅读 · 0 评论