并查集 概述 性质 一种树形结构 并查集算法不支持分割一个集合 元素 代表元 集合中的元素,用来代表这个集合 一个集合内的所有元素组织成以代表元为根的树形结构 parent[x] 对于每一个元素,parent[x]指向x在树形结构上的父亲节点。如果x是根节点,则令parent[x] = x 操作 M ...
分类:
其他好文 时间:
2020-03-24 23:30:28
阅读次数:
67
本文始发于个人公众号: TechFlow ,原创不易,求个关注 今天是周五分布式系统的第八篇文章,核心内容是B+树的原理。 今天的文章是上周B树的延伸,所以新关注的或者是有所遗忘的同学建议先从下方链接回顾之前的内容。 硬核挑战——从零开始动手图解B树 B+树的特性 B+树和B树一样都是多路平衡树,也 ...
分类:
其他好文 时间:
2020-03-14 11:23:40
阅读次数:
61
题目 https://loj.ac/problem/10143 题解 + 一眼就能看出这题就是找Splay的前驱和后继 + 通过这题可以体会到为什么要加入一个无穷小的点和一个无穷大的点,加入可以防止出坑 代码 ...
分类:
其他好文 时间:
2020-03-06 01:46:50
阅读次数:
71
loj3265 「USACO 2020.2 Platinum」Delegation 因为是最大化最小值,考虑二分答案。 设当前二分的答案为$K$。则要判断是否有一种划分方式,使得每条链的长度都至少为$K$。 不妨以$1$为根,对整棵树dfs。记$fa(u)$为$u$的父亲节点。 函数求出一个值$f( ...
分类:
其他好文 时间:
2020-03-03 18:56:33
阅读次数:
156
题目描述 lre有一棵 $n+1$ 个节点的树, $0$ 号点是树根,第 $i$ 个点的父亲是 $a_i$ 。 每个点上都可以放一个弹珠或不放。之后每一回合,lre都会把所有弹珠移动到它们所在的节点的父亲节点。 若一个节点上有大于 $1$ 个弹珠,它们会一起被lre打爆消失。原来在 $0$ 号节点上 ...
分类:
其他好文 时间:
2020-02-24 18:48:22
阅读次数:
59
题意: 给你n个数和2个操作,C操作是将一个区间内的每个数都加上k,Q操作是询问一个区间的和 链接:http://poj.org/problem?id=3468 思路: 线段树区间修改+区间查询 代码: #include <iostream> #include <stdio.h> #include ...
分类:
其他好文 时间:
2020-01-21 20:09:42
阅读次数:
82
链接:Miku 很入门的树形dp,首先,在这个题中,我们要做的就是求出来每一个子节点,然后用他们去更新父亲节点。 对于每一个节点,他有两种状态,去,或者不去,我们定义dp[i][0]为第i个节点也去的状态,而dp[i][1]为它不去,那么很显然 如果这个点去了,它的子节点肯定不去,那么dp[i][1 ...
分类:
其他好文 时间:
2020-01-20 22:55:24
阅读次数:
62
二分搜索树是二叉树的一种。 二叉树就是有左右节点,有唯一根节点的树类数据结构。二叉树具有天然递归结构,每个父亲节点的左右子树也是二叉树 class Node{ E e; Node left; Node right; } 上图是一个满二分搜索树,但用的时候不一定是满的, 符合条件就行。所以存储的元素必 ...
分类:
其他好文 时间:
2020-01-20 09:39:54
阅读次数:
69
我们知道,递归版路径压缩的实质就是在回溯过程中把沿途出现的爸爸变成兄弟,最终由N代同堂变成二代同堂。 所以我们可以利用这样的方法写出非递归路径压缩。 首先要找到根节点root,然后从当前位置出发寻找根节点,沿途得到的父亲节点father全部直接指向根节点。 如何得到沿途的父节点呢?当然是迭代啦! 1 ...
分类:
其他好文 时间:
2020-01-17 22:51:26
阅读次数:
104
堆 堆则是一种经过排序的树形数据结构,常用来实现优先队列,他的特点在于形成某种优先的结构。在计算机经常用到,比如优先队列,或者是优先进程管理。 堆(也叫二叉堆)的性质: 1、任何一个节点,都不大于他的父亲节点。 2、必须是一颗完全二叉树 栈 在数据结构中,栈是一种可以实现“先进后出”(或者称为“后进 ...
分类:
编程语言 时间:
2020-01-17 17:28:36
阅读次数:
97