随笔分类 - 数据结构
数据结构模板与讲解
摘要:给 $n$ 条线段 $[l_i,r_i]$,每条有个颜色 $t_i\in\{0,1\}$,求最多选出多少条线段,使没有不同颜色的线段相交。
数据范围:$1\le n\le 2\cdot 10^5$,$1\le l_i\le r_i\le 10^9$。
阅读全文
摘要:
强制在线,$n$ 个操作:
1. 在平面上加入一条线段,两端端点为 $(x_0,y_0)$ 和 $(x_1,y_1)$。记第 $i$ 条被插入的线段的标号为 $i$。
2. 给定整数 $k$,询问与 $x=k$ 相交的线段中,交点纵坐标最大的线段的编号。
阅读全文
强制在线,$n$ 个操作:
1. 在平面上加入一条线段,两端端点为 $(x_0,y_0)$ 和 $(x_1,y_1)$。记第 $i$ 条被插入的线段的标号为 $i$。
2. 给定整数 $k$,询问与 $x=k$ 相交的线段中,交点纵坐标最大的线段的编号。
阅读全文
摘要:
树链剖分可以说是个数据结构,但是更是个存储、操作树上信息的方法。树链剖分的主要思想是把一棵树拆成若干条链,并建立数据结构进行存储、操作,根据拆的方法不同,分为重链剖分和长链剖分。重链剖分用得较多,蒟蒻也更喜欢重链剖分,这篇就讲重链剖分。
阅读全文
树链剖分可以说是个数据结构,但是更是个存储、操作树上信息的方法。树链剖分的主要思想是把一棵树拆成若干条链,并建立数据结构进行存储、操作,根据拆的方法不同,分为重链剖分和长链剖分。重链剖分用得较多,蒟蒻也更喜欢重链剖分,这篇就讲重链剖分。
阅读全文
摘要:"\[SDOI2014\]数数" 这题的前置知识是AC自动机和dp,前置题目是 "\[JSOI2007\]文本生成器" ,前置题目我写的题解 "题解 \[JSOI2007\]文本生成器" 。我的讲解假设你做过上面那道题。 这题比上面那题多个条件,我因此多调了 $3$ 个小时。多的条件:答案要不大于整
阅读全文
摘要:作用:单文本串多模式串匹配。 前置知识:trie树。 AC自动机可以看作是在字典树上做 KMP,但并不是把 KMP 算法放到树上来,而是用了一种和 KMP 类似的思想,即在字典树上匹配文本串的时候如果失配,就跳到 \(fail\) 指针所指的节点,所以学AC自动机没必要精通 KMP。 拿例题来讲:给
阅读全文
摘要:线段树是所有 RMQ 中最常用的数据结构。 功能:区间修改区间查询。不止最值、求和。只要可递推的值都可以构造线段树。 如果区间大小为 $n$,线段树有 $cnt$ 个节点,那么 $2n 1\le cnt 1$(即 $x/2$ 下取整的位运算方法,位运算方便而且快),左儿子为 $x 1$,右儿子区间为
阅读全文
摘要:数据结构 字符串 字典树 参考资料 暂无 字典树就是著名的 $trie$ 树,是未来学很多字符串自动机的必备前置知识。 用处:插入字符串,查找字符串出现次数。 这个数据结构就是一个有根树,根节点编号为 $1$。除了根节点外,每个节点上有一个字母。对于每个节点 $x$,$ch[x][c]$ 表示这个节
阅读全文
摘要:堆 优先队列 前置知识:二叉树。 参考资料 暂无 堆就是优先队列,可以用来解决动态区间查询最值问题。 堆就是一个完全二叉树,可以插入节点,删除根节点(也可以删除特定节点)。 为了方便,普通的堆节点 $i$ 的父亲就是 $[i\div2]$ ($[x]$ 表示不超过 $x$ 的最大整数)。 节点 $i
阅读全文

浙公网安备 33010602011771号