自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 算法基础—数据结构—树

我们就先从树的储存看起吧。 以字母为例,先建立一个根节点,然后向右创建子节点,并在最后的字符串的结尾处进行标记。 好了,上模板代码(取自AcWing) int son[N][26], cnt[N], idx; // 0号点既是根节点,又是空节点 // son[][]存储树中每个节点的子节点 // cnt[]存储以每个节点结尾的单词数量 // 插入一个字符串 void insert(c...

2020-02-19 19:49:40 158

原创 算法基础—数据结构—kmp

很抽象直接看模板吧q'w'q 关于kmp的模板(取自AcWing) // s[]是长文本,p[]是模式串,n是s的长度,m是p的长度 求模式串的Next数组: for (int i = 2, j = 0; i <= m; i ++ ) { while (j && p[i] != p[j + 1]) j = ne[j]; if (p[i] == p...

2020-02-14 22:51:39 82

原创 算法基础—数据结构—栈与队列

栈——先进后出; 队列——先进先出; 这两个模型应该都不会陌生,并且有相关的头文件可以直接调用,但是,这里依旧是拿数组进行模拟; 先来看栈的相关模板(取自AcWing) // tt表示栈顶 int stk[N], tt = 0; // 向栈顶插入一个数 stk[ ++ tt] = x; // 从栈顶弹出一个数 tt -- ; // 栈顶的值 stk[tt]; // 判断栈是否为空...

2020-02-14 22:08:11 131

原创 算法基础—数据结构—双链表

双链表顾名思义就是一个从左到右的指针和一个从右到左的指针。 这里列一些模板 // e[]表示节点的值,l[]表示节点的左指针,r[]表示节点的右指针,idx表示当前用到了哪个节点 int e[N], l[N], r[N], idx; //初始化 void intx(){ //0是左端点,1是右端点 l[1] = 0; r[0] = 1; idx = 2; } //删除 int ...

2020-02-14 18:23:35 202

原创 算法基础—数据结构—单链表

对于链表我想大家应该都不陌生,但是再算法里面,一般以静态链表为准(数组模拟链表)。主要是因为快,这个也没什么固定的模板,直接根据题目来看吧。 https://www.acwing.com/problem/content/828/ 题目要求就是根据不同的操作来模拟链表,最后遍历输出。 #include<bits/stdc++.h> using namespace std; co...

2020-02-14 13:45:36 144

原创 算法基础模板—二分

二分的思想很简单,就是对半砍,但是会有很多边界问题让人头大,这里我们先来看一下模板代码(取自AcWing) bool check(int x){ //检查x是否满足某种性质 } //区间[l,r]被划分为[l,mid]和[mid+1,r]时使用; int bsearch_1(int l,int r){ while(l<r){ int mid = l+r >> 1; ...

2020-02-13 20:25:40 102

原创 基础算法模板—归并排序

归并和快速的不同是,快速排序是先划分后递归,而归并先递归后合并。 归并排序也大体可以分为三步; 1.确定分界点;2.就是递归分左右;3.合二为一;(这里还是用算法动画图解演示) 分界点我们一般取中间; 依此类推,之后在不停的分分成单个的 之后就是合二为一以升序合并; 最后在合并一下即可;代码如下(取自AcWing) void merge_sort(int q[],int...

2020-02-13 18:01:47 135

原创 基础算法模板—快速排序

首先是快排的模板,但是在说快排模板之前还是说一下快排的原理会好一些。 之前已经写过很多关于快速排序的例题了,不过有些时候因为懒所以就用sort直接过来了qwq,这里用到了算法动画图解来做样例。 首先,我们要确定三个点,一个是最左端的左标记,另一个是最右端的右标记,还有一个mid,mid这个可以随意取值,不过我一般习惯取中间(但是图中的样例是以最右为取值,这个都无所谓的); 然后左标记开始...

2020-02-13 13:10:31 263

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除