数据结构
666
勇敢nn
用心去打造每一份美好
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
字符串算法
字符串主要用于编程,概念说明、函数解释、用法详述见正文,这里补充一点:字符串在存储上类似字符数组,所以它每一位的单个元素都是可以提取的,如s=“abcdefghij”,则s[1]=“b”,s[9]="j",这可以给我们提供很多方便,如高精度运算时每一位都可以转化为数字存入数组。.........原创 2022-08-08 22:30:43 · 193 阅读 · 0 评论 -
线段树与树状数组
动态求连续区间和原创 2022-05-09 17:44:11 · 336 阅读 · 0 评论 -
常见的排序方法
1.堆排序题目描述:输入一个长度为 n 的整数数列,从小到大输出前 m 小的数。测试样例:输入:5 34 5 1 3 2输出:1 2 3代码如下:#include<iostream>#include<algorithm>using namespace std;const int N=100010;int n,m,size1;int h[N];void down(int u)//大的向下换,一直换{ int t=u; if(2*u&原创 2021-09-20 17:17:21 · 125 阅读 · 0 评论 -
单调栈,单调队列
题目描述:给定一个长度为 N 的整数数列,输出每个数左边第一个比它小的数,如果不存在则输出 −1。测试样例:输入:53 4 2 7 5输出:-1 3 -1 2 2代码如下:#include<iostream>using namespace std;const int N=100010;int stk[N],tt;int main(){ int n; scanf("%d",&n); while(n--) { i原创 2021-08-11 12:34:59 · 110 阅读 · 0 评论 -
哈希表映射
1.模拟散列表题目描述:维护一个集合,支持如下几种操作:I x,插入一个数 x;Q x,询问数 x 是否在集合中出现过,如果 x 在集合中出现过,则输出 Yes,否则输出 No。现在要进行 N 次操作,对于每个询问操作输出对应的结果。测试样例:输入:5I 1I 2I 3Q 2Q 5输出:YesNo代码如下:#include<iostream>#include<cstring>using namespace std;const int原创 2021-08-12 21:48:55 · 249 阅读 · 0 评论 -
并查集
#include<iostream>using namespace std;const int N=100010;int n,m;int p[N];int find(int x)//返回x的祖宗节点+路径压缩{ if(p[x]!=x) { p[x]=find(p[x]); } return p[x];}int main(){ scanf("%d %d",&n,&m); for(int i=1; i&原创 2021-08-07 11:06:53 · 190 阅读 · 0 评论
分享