随笔分类 -  数据结构

摘要:基本介绍模板题目代码实现基本介绍在好奇心的驱使下学习了st表 最后发现没怎么懂 不过我知道它很快 - -ST表主要用于处理静态区间最大最小值 它能做到预处理O(nlogn) 询问O(1)的时间复杂度设f[i][j]表示区间[i,i+2^j-1]的最大值 f[i][0]... 阅读全文
posted @ 2017-09-15 11:28 ars4me 阅读(169) 评论(0) 推荐(0)
摘要:基本介绍模板题目代码实现基本介绍在求区间最值的基础上加了一个单点修改 也就是下面代码中的update函数 主要通过不断二分区间往下找左右子区间 直到一个子区间只包括一个节点 直接改变这个节点的值并改变所有与这个点相关的父亲节点 (摘自战友Jiang.S博客)模板题目题... 阅读全文
posted @ 2017-09-14 14:56 ars4me 阅读(278) 评论(0) 推荐(0)
摘要:题目接近于单调队列的模板了 根据大小之类的入队出队 代码好理解 代码如下#include#include#include using namespace std; #define in = read() typedef long long ll; ... 阅读全文
posted @ 2017-09-12 10:50 ars4me 阅读(160) 评论(0) 推荐(0)
摘要:基本介绍模板题目代码实现基本介绍逆序对就是序列的实际排序和期望排序的比较 例如 1 2 10 8 6 4 是一个序列 那么按大小给他们编上号就是 1 2 6 5 4 3 但我们期望从小到大的排序是 1 2 3 4 5 6 所以我们从前往后来看 1 2 6 都是按顺序... 阅读全文
posted @ 2017-09-11 14:50 ars4me 阅读(210) 评论(0) 推荐(0)
摘要:题目基本介绍模板题目代码实现基本介绍这篇是树状数组模板2 主要内容有: 1.将某区间每一个数数加上x 2.求出某一个数的和 也就是说支持区间修改我们可以看一下 Qi.DC 的想法 他说:“ 我们在树状数组中可以用前 i 项的和来表示第 i 个数 那么当对 x ~ y... 阅读全文
posted @ 2017-09-09 20:20 ars4me 阅读(159) 评论(0) 推荐(0)
摘要:基本介绍模板题目代码实现基本介绍这篇是树状数组模板1 主要内容有: 1.将某数加上x 2.求某区间和 也就是说支持单点修改关于树状数组的博客讲解模板题目见基本介绍代码实现#include#include#include using namespace std; ... 阅读全文
posted @ 2017-09-08 20:36 ars4me 阅读(97) 评论(0) 推荐(0)
摘要:题目线段树做了一遍 t了三个点可能是我太弱 代码如下#include#include#includeusing namespace std;#define in = read()typedef long long ll;const ll size = 8000000 ... 阅读全文
posted @ 2017-09-06 09:35 ars4me 阅读(194) 评论(0) 推荐(0)
摘要:基本介绍模板题目代码实现基本介绍这应该是最简单的线段树了吧 写个博客记录一下 就是求一个区间的最大值或者最小值 简单的线段树便于接触线段树的建树 查询等 便于以后学习模板题目《忠诚》 题目描述 老管家是一个聪明能干的人。他为财主工作了整整10年,财主为了让自已账目更加... 阅读全文
posted @ 2017-09-02 15:32 ars4me 阅读(136) 评论(0) 推荐(0)
摘要:day4的 笔记记得比较多栈和队列FILO(First in last out)栈 FIFO(First in first out)队列 定义不解释 单调栈和单调队列 顾名思义课堂笔记堆完全二叉树? 建议使用STL课堂笔记另外注意重载运算符的使用 一般堆需要重载小于... 阅读全文
posted @ 2017-07-19 22:23 ars4me 阅读(98) 评论(0) 推荐(0)
摘要:基本介绍模板题目代码实现基本介绍之前没有写过栈 栈是只能在某一端插入和删除的特殊线性表 就像一个桶一样 我们可以用STL 也可以自己写 进栈 top++ 然后 _stack[top]=进栈元素 退栈 可以将退栈后的一个元素赋值到一个地方 top–单调栈 故名思议 就... 阅读全文
posted @ 2017-06-17 09:34 ars4me 阅读(160) 评论(0) 推荐(0)
摘要:C++的STL中提供了有关队列的东西 很方便 作为一个懒人既然有现成的 肯定就不会手写了…首先都需要打头文件queue FIFO队列是先进先出的 就好像排队一样 STL定义FIFO队列queue变量名//可用类型 int char data等等优先队列的话是有优先级存... 阅读全文
posted @ 2017-05-22 21:21 ars4me 阅读(330) 评论(0) 推荐(0)
摘要:图的邻接表存储法 又叫链式存储法 可以用数组模拟定义struct edge{ int next; //下一条边的编号 int to; //这条边到达的点 int dis; //这条边的长度 }edge[size];//COY... 阅读全文
posted @ 2017-05-18 21:21 ars4me 阅读(181) 评论(0) 推荐(0)
摘要:题目背景 若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系。题目描述 规定:x和y是亲戚,y和z是亲戚,那么x和z也是亲戚。如果x,y是亲戚,那么x的亲戚都是y的亲戚,y的亲戚也都是x的亲戚。输入... 阅读全文
posted @ 2017-05-14 18:10 ars4me 阅读(120) 评论(0) 推荐(0)
摘要:基本介绍模板题目代码实现基本介绍并查集这个东西 其实挺简单的 它是一种用于分离集合操作的抽象数据类型 它处理的是集合之间的关系 即动态地维护和处理集合元素之间的复杂的关系 当然它也能够完成很多的操作 在此不多说了 并查集本身不具有结构 必须借助一定的数据结... 阅读全文
posted @ 2017-05-12 18:41 ars4me 阅读(95) 评论(0) 推荐(0)