![](https://img-blog.csdnimg.cn/20190918140129601.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
树
各种类似树的东东,比如树状数组实现的树
卖炫迈的小男孩
随缘记录心得,请多指教~
展开
-
蓝桥杯 历届试题 大臣的旅费-求树的直径
首先想到的是暴力,问题是题目也没给n的范围所以就不假思索的暴力搜索了。开个1000的二维vector提交后最后一组测试显示运行错误,其他测试用例都对,就是数组太小了,改为1e4就提交就超时了。正确的做法:我们要求的是该无向图两个点之间的路径最长是多少,求出最长的路程。题目也说了根节点到任意节点的路经是唯一的,说明这个无向图就是一颗树,树上求两个节点的最长路程就是求这颗树的直径。现在问题就转为求一颗树的直径原创 2020-10-19 21:03:50 · 143 阅读 · 0 评论 -
可持久化01字典树解析和模板
一、可持久数据结构主要指的是我们可以查询历史版本**的情况并支持插入,利用使用之前历史版本的数据结构来减少对空间的消耗**(能够对历史进行修改的是函数式)。引用于https://www.cnblogs.com/BLADEVIL/p/3681291.html其实就是我们的数据结构的内容会不断发生变化,而我们还要查询以前的历史版本,比如某个区间的情况。**三、思路:**我们**要维护的是的异或和s[]并在==任意区间内找到s[p]使之与(s[n]^x)取得最大异或值==**,——异或+区间求异或最原创 2020-03-04 18:03:15 · 702 阅读 · 1 评论 -
01字典树解析与模板
本文将解答:1.01字典树是什么2.01字典树用途3.01字典树实现代码4.每个数按位插入顺序一、01字典树是什么首先我们都知道普通字典树(不懂?忘记了?点这里 ),字典树是插入字符串,利用字符串的公共前缀来减少查找时间,01字典树其实就是按位插入数字(将数字转化为2进制串),所谓“按位”即将该数字按2进制拆分为每一位是0或1的数字。二、01字典树的用处01字典树一般都是用于求异或...原创 2020-03-04 01:53:47 · 367 阅读 · 0 评论 -
字典树解析与模板C++
字典树又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。它有3个基本性质:根节点不包含字符,除根节点外每一个节点都只包含一个字符; 从根节点到某一节点,路径上经过的字符连接起来,...原创 2020-03-03 03:10:39 · 649 阅读 · 0 评论 -
逆序对模板
P1908 逆序对猫猫TOM和小老鼠JERRY最近又较量上了,但是毕竟都是成年人,他们已经不喜欢再玩那种你追我赶的游戏,现在他们喜欢玩统计。最近,TOM老猫查阅到一个人类称之为“逆序对”的东西,这东西是这样定义的:对于给定的一段正整数序列,逆序对就是序列中ai>aj且i<j的有序对。知道这概念后,他们就比赛谁先算出给定的一段正整数序列中逆序对的数目。Update:数据已加强。输入...原创 2019-12-23 00:30:00 · 267 阅读 · 0 评论 -
HDU 5775 Bubble Sort
hdu5775Bubble SortProblem DescriptionP is a permutation of the integers from 1 to N(index starting from 1).Here is the code of Bubble Sort in C++.for(int i=1;i<=N;++i)for(int j=N,t;j>i;–j)...原创 2019-12-01 23:16:42 · 132 阅读 · 0 评论 -
线段树模板
P3372 【模板】线段树 1题目描述如题,已知一个数列,你需要进行下面两种操作:1.将某区间每一个数加上x2.求出某区间每一个数的和输入格式第一行包含两个整数N、M,分别表示该数列数字的个数和操作的总个数。第二行包含N个用空格分隔的整数,其中第i个数字表示数列第i项的初始值。接下来M行每行包含3或4个整数,表示一个操作,具体如下:操作1: 格式:1 x y k 含义:将区间[x...原创 2019-12-23 00:31:33 · 181 阅读 · 0 评论 -
树状数组模板
首先对于追求编码简单快捷的同学来说,比如ACM。树状数组可以实现的线段树都能实现。树状数组是动态维护前缀和的工具树状数组:1.单点修改,单点查询2.区间修改,单点查询3.单点修改,区间查询这三种我们使用树状数组比线段树敲起来简单,似乎还更快。至于其他,就敲线段树吧那么修改指什么呢?比如给某个数加上一个数,或者给某个区间(要结合差分数组)加上一个数查询又可以是什么呢?比如查询某个点的前缀和,进而到区间求和。至于...原创 2019-11-25 00:53:13 · 241 阅读 · 0 评论 -
Abandoned country
HDU5723Abandoned countryDescriptionAn abandoned country has n (n ≤ 100000) villages which are numbered from 1 to n. Since abandoned for a long time, the roads need to be re-built. There are m (m ≤ 1...原创 2019-11-13 13:52:25 · 141 阅读 · 0 评论 -
Huffuman树的建立并计算权值
Huffuman树Time Limit: 300/100 MS (Java/Others) Memory Limit: 10000/5000 K (Java/Others)Total Submission(s): 12 Accepted Submission(s): 5DescriptionHuffman树在编码中有着广泛的应用。在这里,我们只关心Huffman树的构造过程...原创 2019-07-17 01:00:35 · 571 阅读 · 0 评论