二叉树——102. 二叉树的层序遍历 题目: 思路: 就是层序遍历,一层层扫下去,然后通过队列去实现,一个队列先暂存这一层的所有结点,然后另一个队列通过push_back的方式,实现从左到右的访问。 代码: class Solution { public: vector<vector<int>> l ...
分类:
其他好文 时间:
2021-04-08 12:59:26
阅读次数:
0
题目大意: 给你n个数字,m个询问,每次询问[l,r] 求[l,r]这个区间内的数不能够构成的最小正整数(下文称其为区间Mex(并不是严格的区间Mex)) 题目思路: 我们逐步解决这个问题 Q1: 如何计算一个区间的MEX ? 假设当前区间[L,R]能够表示的数是[1,x]此时mex = x+1 然 ...
分类:
其他好文 时间:
2021-04-08 12:53:57
阅读次数:
0
翻转二叉树,2种方案,递归与非递归 (个人更喜欢非递归的方案,大多数情况下非递归的迭代都拥有更低的时空间复杂度,当然也存在 傅里叶快速变换那种小而美的递归方案,见仁见智吧) 1. 递归(深度优先遍历方案) 此方案中,我们会直接从最顶层父节点,一路递归至最左侧叶子节点, 然后再递归至其父节点的右孩子, ...
分类:
其他好文 时间:
2021-04-07 11:36:18
阅读次数:
0
原题链接https://codeforces.com/problemset/problem/8/C 这题自己sb,后面s数组没有加够,出现了空值,调了老半天,我是sb。 题意: 给你n个结点,权值1~n,问你最多能组成多少棵深度不小于 k 的二叉搜索树。 思路:大的树是由小的树构成的,因此可以递推( ...
分类:
其他好文 时间:
2021-04-07 11:25:35
阅读次数:
0
VIII.CF633H Fibonacci-ish II 强烈谴责卡常屑题( 莫队。于是要支持插入数、查询与斐波那契数列的点积和。 离散化后就直接在线段树上处理。于是变成单点插入/删除(这个很 easy)以及后缀斐波那契数列前移/后移。 直接上矩阵维护。但是会TLE(因为常数是 \(2^3\))。预 ...
分类:
其他好文 时间:
2021-04-07 11:15:58
阅读次数:
0
splay、treap、set、红黑树、avl、B树 splay: 平衡二叉树,经过左旋和右旋操作,不会改变中序遍历的顺序。维护的是二叉树的一个中序序列,同时调整树的高度。 在插入和查询操作x的时候,都会把x变到树根的位置。 核心:每操作一个节点,均将该节点旋转到树根。一个点用到的话,之后的话很可能 ...
分类:
其他好文 时间:
2021-04-07 10:41:01
阅读次数:
0
序言 二叉树存在的问题? 二叉树极端情况会退化为链表 平衡二叉树存在的问题? 平衡二叉树解决了存在线性链表的问题,数据查询的效率好像也还可以,基本能达到O(log2(n)), 那为什么mysql不选择平衡二叉树作为索引存储结构,他又存在什么样的问题呢? 树的高度可能会很高 那有没有一种结构能够解决二 ...
分类:
数据库 时间:
2021-04-06 15:18:24
阅读次数:
0
主要有两个操作:push_up 与 push_down. push_up 用子节点来算父节点信息,如:sum = l.sum + r.sum push_down 父节点的修改信息下传到子节点 基本操作 push_up(u) bulid() 将一段区间初始化为线段树 modify 修改 $\left ...
分类:
其他好文 时间:
2021-04-06 15:08:05
阅读次数:
0
小明种树 试题编号: 201909-1 试题名称: 小明种苹果 时间限制: 2.0s 内存限制: 512.0MB 题解:模拟一下,记录坏果数量和对应的果树的序号,排下序 3 3 73 -8 -6 -4 76 -5 -10 -8 80 -6 -15 0 1 n,m=map(int, input().s ...
分类:
编程语言 时间:
2021-04-06 14:37:49
阅读次数:
0
B树又叫B-树,B树的特性 B树中允许一个结点中包含多个key,可以是3个、4个、5个甚至更多,并不确定,需要看具体的实现。现在我们选择一个参数M,来构造一个B树,我们可以把它称作是M阶的B树,那么该树会具有如下特点:每个结点最多有M-1个key,并且以升序排列;每个结点最多能有M个子结点;根结点至 ...
分类:
其他好文 时间:
2021-04-06 14:24:04
阅读次数:
0