随笔分类 -  stl与算法

c++stl与算法algorithm
摘要:P4447[AHOI2018初中组]分组 #include<bits/stdc++.h> using namespace std; map<int,int> m; int ans=101000; void rule(int n) { while(n>0) { int tj=0; map<int,in 阅读全文
posted @ 2022-03-19 19:38 心悟&&星际 阅读(51) 评论(0) 推荐(0) 编辑
摘要:P3985 不开心的金明 #include<iostream> #include<map> using namespace std; int w[101],v[101]; map<int,map<int,int> > dp; int n,W; long long dfs(int i,int zl) 阅读全文
posted @ 2022-03-19 18:32 心悟&&星际 阅读(32) 评论(0) 推荐(0) 编辑
摘要:P1090 [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair G这是一道贪心算法的题目,每次选择两个最小的堆,合并后,继续直到只有一堆为止,可能用multiset进行维护。 #include<bits/stdc++.h> using namespace 阅读全文
posted @ 2022-03-12 19:34 心悟&&星际 阅读(40) 评论(0) 推荐(1) 编辑
摘要:P1886 滑动窗口 /【模板】单调队列 //60分 #include<bits/stdc++.h> using namespace std; vector <int> Maxv,Minv; struct Maxnode { int val; int i; bool operator <(const 阅读全文
posted @ 2022-03-12 08:03 心悟&&星际 阅读(19) 评论(0) 推荐(0) 编辑
摘要:本文只总结常见的序列容器(vector、deque、list)和关联容器(set、multiset、map、multimap)的迭代器失效问题。原迭代器指的是进行操作之前保存的迭代器,包括begin()、end()以及其他位置的迭代器。vector:成员函数push_back():会在容器末尾添加一 阅读全文
posted @ 2022-03-10 17:55 心悟&&星际 阅读(208) 评论(0) 推荐(0) 编辑
摘要:C++迭代器(STL迭代器)iterator详解要访问顺序容器和关联容器中的元素,需要通过“迭代器(iterator)”进行。迭代器是一个变量,相当于容器和操纵容器的算法之间的中介。迭代器可以指向容器中的某个元素,通过迭代器就可以读写它指向的元素。从这一点上看,迭代器和指针类似。迭代器按照定义方式分 阅读全文
posted @ 2022-03-10 17:51 心悟&&星际 阅读(825) 评论(0) 推荐(0) 编辑
摘要:string容器要想使用标准C++中string类,必须要包含#include <string>// 注意是<string>,不是<string.h>,带.h的是C语言中的头文件using namespace std;string类的构造函数string(const char *s); //用c字符 阅读全文
posted @ 2022-03-10 09:24 心悟&&星际 阅读(34) 评论(0) 推荐(0) 编辑
摘要:Queue容器Queue容器概述queue队列与栈有点类似,栈一个是在同一端存取数据,队列一个是在一端存入数据,另一端取出数据。单向队列中的数据是先进先出(First In First Out,FIFO)。在STL中,单向队列也是以别的容器作为底部结构,再将接口改变,使之符合单向队列的特性就可以了。 阅读全文
posted @ 2022-03-10 09:21 心悟&&星际 阅读(27) 评论(0) 推荐(0) 编辑
摘要:C++ Stack栈的基本概念栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是 阅读全文
posted @ 2022-03-10 09:16 心悟&&星际 阅读(237) 评论(0) 推荐(0) 编辑
摘要:list容器list是C++标准模版库(STL,Standard Template Library)中的部分内容。实际上,list容器就是一个双向链表,可以高效地进行插入删除元素。使用list容器之前必须加上<list>头文件:#include<list>;list属于std命名域的内容,因此需要通 阅读全文
posted @ 2022-03-10 08:06 心悟&&星际 阅读(31) 评论(0) 推荐(0) 编辑
摘要:C++中的unique(),unique_copy()的用法作用:去除重复的相邻的重复的元素,即如果两个元素相同但是不相邻,则不会去除unique 将重复的元素没有删除,而是放在了最后面,故原来是多少元素,去重后还是多少元素,保存了剔除的元素unique_copy 是将去重后的元素重新放到另外一个数 阅读全文
posted @ 2022-03-08 21:56 心悟&&星际 阅读(221) 评论(0) 推荐(0) 编辑
摘要:P7072 [CSP-J2020] 直播获奖 #include<cstdio> #include<algorithm> #include<vector> #include<cmath> #include<functional> using namespace std; vector <int> a; 阅读全文
posted @ 2022-03-08 21:52 心悟&&星际 阅读(131) 评论(0) 推荐(0) 编辑
摘要:c++ STL中sort函数是一个快速排序函数可以对任何类型的数据进行排序。STL,C++中的标准模板库, 使用起来方便并且效率较高;#include<algorithm>//用sort要包含这个头文件 一:对基本类型数组从小到大排序sort( 数组名+n1,数组名+n2);将数组中下标从n1到n2 阅读全文
posted @ 2022-03-08 21:44 心悟&&星际 阅读(153) 评论(0) 推荐(0) 编辑
摘要:P4447 [AHOI2018初中组]分组题解在数轴上统计各个实力值出现的次数。我们要研究如何使人数最少的组别人数最大——也就是如何使长度最短的线长度最大。不妨令每一次画线都从最左边一列开始。每次都画到底,可以吗?显然,大多数情况下这不是最优解。最后可能会剩下一个方块“一枝独秀”:出现这种情况的根本 阅读全文
posted @ 2022-03-08 20:58 心悟&&星际 阅读(49) 评论(0) 推荐(0) 编辑
摘要:P2240 【深基12.例1】部分背包问题按价值比从大到小排序,每次选择价值比大的全部物品,或按比例选取部分物品直到背包为空为止。 #include<bits/stdc++.h> using namespace std; struct node{ int zl; int jz; bool opera 阅读全文
posted @ 2022-03-08 08:55 心悟&&星际 阅读(44) 评论(0) 推荐(0) 编辑
摘要:栈的应用当读到的数时入栈,当读到运算符时,对应数据出栈,计算后再入栈,当读到@时,栈顶为本题的解,这里的栈用C++stl的stack容器,简化代码的实现。 //P1449 后缀表达式 #include<iostream> #include<stack> #include<cstring> using 阅读全文
posted @ 2022-03-06 21:21 心悟&&星际 阅读(39) 评论(0) 推荐(0) 编辑
摘要:排列的概念排列,一般地,从n个不同元素中取出m(m≤n)个元素,按照一定的顺序排成一列,叫做从n个元素中取出m个元素的一个排列(permutation)。特别地,当m=n时,这个排列被称作全排列(all permutation)。排列数p(n,r)=n!/(n-r)!,p(n,n)=n!,0!=1从 阅读全文
posted @ 2022-03-06 08:08 心悟&&星际 阅读(124) 评论(0) 推荐(0) 编辑
摘要:P4305 [JLOI2011]不重复数字题解:可以使用Hash的思想,主要有两方面,一、hash函数,二、冲突处理,这里hash函数除余法,冲突一种是线性探测,另一种是开地址法 /* 简单的hash思想 */ #include<bits/stdc++.h> using namespace std; 阅读全文
posted @ 2022-03-04 20:40 心悟&&星际 阅读(54) 评论(0) 推荐(0) 编辑
摘要:P4305 [JLOI2011]不重复数字题解判重,判断之前是否出现过该数,60%的数据在[0,104]所以这个数据可以使用桶的思想进行判重,100%数据在32位整数,且个数在5*104,且有50组,可以尝试set判重。 #include<bits/stdc++.h> using namespace 阅读全文
posted @ 2022-03-04 20:14 心悟&&星际 阅读(30) 评论(0) 推荐(0) 编辑
摘要:P1102 A-B 数对 #include<map> #include<iostream> #include<vector> using namespace std; map<int,int> m; vector <int> ma; long long ans=0; int main() { int 阅读全文
posted @ 2022-03-04 08:51 心悟&&星际 阅读(170) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示