数据结构
飞翔的大胖兔子
这个作者很懒,什么都没留下…
展开
-
省赛的第三次训练赛 B线段树的RMQ结构
线段树是一个完全二叉树,或称为是一个完美二叉树,所有的叶子深度相同,维护的是一个区间,每个节点维护的是父亲的区间二分后的其中一个子区间。当有n个元素师,可以再O(longn)时间内完成,RMQ操作(区间最值查询)::给定S和T,求元素在区间【s,t】的两种操作:寻找最值和元素的更换最底下的一行就是数列a[n];因此,越向上的节点对应的区间越大,反之相反 如果所查询的区间和当前区间没有交集...原创 2018-04-21 21:29:19 · 162 阅读 · 0 评论 -
使用单调栈优化解题 POJ2559
POJ 2559 A histogram is a polygon composed of a sequence of rectangles aligned at a common base line. The rectangles have equal widths but may have different heights. For example, the figure on the ...原创 2018-09-19 21:15:31 · 221 阅读 · 0 评论 -
acm 2018北京网络赛D 80 Days 双端队列
题目4 : 80 Days 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 80 Days is an interesting game based on Jules Verne's science fiction "Around the World in Eighty Days". In this game, you have to manage the l...原创 2018-09-22 20:29:34 · 184 阅读 · 0 评论 -
acm 2018北京网络赛B题
这个题的题意就是给n n<=10个字符串,长度不超过8,但是n个字符串每一个都可以组成一个环,然后求这n个字符串的最长公共子序列 我的做法就是使用位运算遍历。(朱学长要打我....)就是每一位就是一个0 1,来遍历,这样就比for循环遍历快很多,然后分别使用map来存同时要避免在每个字符串中子串出现次数大于1,然后再用另一个map来存一下,最后在输出最后的map就可以了 #include...原创 2018-09-22 21:01:32 · 363 阅读 · 0 评论 -
kmp算法 关于next数组的详细解释
转载自http://www.cnblogs.com/c-cloud/p/3224788.html 前言 之前对kmp算法虽然了解它的原理,即求出P0···Pi的最大相同前后缀长度k;但是问题在于如何求出这个最大前后缀长度呢?我觉得网上很多帖子都说的不是很清楚,总感觉没有把那层纸戳破,后来翻看算法导论,32章 字符串匹配虽然讲到了对前后缀计算的正确性,但是大量的推理证明不大好理解,...原创 2018-10-25 11:42:27 · 337 阅读 · 0 评论 -
二叉树的层次遍历
03-树2 List Leaves (25 分) Given a tree, you are supposed to list all the leaves in the order of top down, and left to right. Input Specification: Each input file contains one test case. For each cas...原创 2018-11-12 17:22:37 · 133 阅读 · 0 评论 -
二叉树的递归与非递归遍历(前序、中序、后序)
一.前序遍历 前序遍历按照“根结点-左孩子-右孩子”的顺序进行访问。 1.递归实现 1 void preOrder1(BinTree *root) //递归前序遍历 2 { 3 if(root!=NULL) 4 { 5 cout<<root->data<<" "; 6 preOrd...原创 2018-11-12 18:03:51 · 218 阅读 · 0 评论 -
折半判定查找树 从pta上的题说起
大早晨一下子看到了这个题,看了一会感觉眼熟但是没啥思路 ,所以先写下来题解然后防止自己忘把~ 在这里,我们不妨设折半查找是向下取整的,所以存在: 情况一:当剩余查找个数为偶数的时候,在树中表现为对应节点左边的子节点总数比右边子节点总数少一个。例如,在结点1,2,3,4中查找 low=1,high=4 min=2(下取整)。因此,根节点为2, 左子树结点有1,右子树结点共有3,4 此时左子树...原创 2018-12-09 09:02:03 · 608 阅读 · 0 评论