树
文章平均质量分 64
四光年
算法无止境!
展开
-
B树 B+树总结
2-3树整个树只包含2结点和3结点。 2结点只能有一个元素,有两个指针或没有指针(就是没有孩子)。 3结点只能有两个元素,有三个指针或没有指针(就是没有孩子)。 所有的叶子结点一定是在在同一层上面。B树:b树的一些性质:1、根结点至少有两个子女;2、每个非根节点所包含的关键字个数 j 满足:┌m/2┐ - 1 <= j <= m - 1;3、除根结点以外...原创 2018-12-28 16:45:02 · 676 阅读 · 0 评论 -
hdu 2874 森林上任意两点的之间的最短距离
lca模板题,tle了一上午。先用树剖,tle。再用targin离线搞是mle。。。优化了半天终于不mle了,又变成tle。。。最后发现是add函数ans变量没有写&,擦。以后长记性了#include <bits/stdc++.h>using namespace std;#define res register int#define ll long longcon...原创 2019-07-27 13:42:56 · 170 阅读 · 0 评论 -
树的重心
你必须非常努力,才能看起来毫不费力。今天才学到了这个,代码看了好久,又去看了别人的文章,才真正的理解了树的重心。什么是树的重心?树的重心也叫树的质心。找到一个点,其所有的子树中最大的子树节点数最少,那么这个点就是这棵树的重心,删去重心后,生成的多棵树尽可能平衡。我自己的解释:树的重心就是对于某一个树的结点i来说,暂且将它当作树根。它可能有好几个树枝,找出每一个树枝最多的结点,记做d...原创 2018-10-21 15:55:05 · 781 阅读 · 0 评论 -
发现规律+dfs
开始用的是map,但是发现怎末也过不去,还以为是dfs不行,就换成了bfs,但还是不行。最后看了别人的代码换成了vecotr就成了。。。。思路:1:路径通过对2取模之后,只剩下0或1,任意找一个结点,然后从这个结点往下开始dfs,记录到这个结点的距离是0的个数n。则这n+1(包括这个起始结点本身)可以从中间选取三个点符合条件。剩余的点就又是另外的一种情况(他们到起始结点的距离为1,但是他们...原创 2018-11-03 13:10:51 · 170 阅读 · 0 评论 -
HDU1054树状dp
自己去学了学树状dp,第一次竟然直接过了,还是挺容易理解的,从下往上建树(递归)。注意初始化吧。#include <bits/stdc++.h>using namespace std;#define inf 0x3f3f3fconst int maxn=1500+10;int dp[maxn][2];vector<int> v[maxn];int n,Mi...原创 2018-11-13 13:07:34 · 137 阅读 · 1 评论 -
dfs+LIS(O(nlogn))
链接:https://ac.nowcoder.com/acm/contest/368/B来源:牛客网 选点时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 131072K,其他语言262144K64bit IO Format: %lld题目描述有一棵n个节点的二叉树,1为根节点,每个节点有一个值wi。现在要选出尽量多的点。对于任意一棵子树,都要满足:如果...原创 2019-02-08 23:18:40 · 169 阅读 · 0 评论