仅供自己学习 思路: 按照题目要求我们需要定义一个head头节点,并且因为树是二叉搜索树,所以要采取中序遍历才能得到从小到大的排序。 按照中序遍历的模板 dfs(root->left); cout<<root->val; dfs(root->right); 同样我们也通过这个模板写DFS,这里因为是 ...
分类:
其他好文 时间:
2021-04-05 12:33:29
阅读次数:
0
关键字联想词优化方案 Redis + Trie树 4.4.1现有问题 每次输入关键字的时候都会调用后台获取数据,频繁的发起请求查询数据库,并且是模糊查询 随着联想词的搜索越来越频繁,每次从数据库查询非常占用数据库资源,同时查询效率比较低 4.4.2 优化方案Trie树 优化方案: 数据能够缓存到re ...
分类:
其他好文 时间:
2021-04-05 12:26:58
阅读次数:
0
题目描述 我们定义一个点$x$是整棵树的重心(总共有$n$个点)当且仅当删掉点x后所有连通块的大小都不超过$n/2$。我们定义一次操作为删掉一条边再加上一条边,必须满足操作后整个图还是一棵树。给你一棵$n$个点的树,求每个点能否在一次操作后成为重心。 输入 第一行一个整数$n$; 接下来$n-1$行 ...
分类:
其他好文 时间:
2021-04-05 12:25:59
阅读次数:
0
前言 线段树+网络最大流的建模题。 题目链接 题目大意 最初时有 \(n\) 个 \(1\) 。给定 \(op\) 、 \(l\) ,其中, \(l\) 为操作次数上限。你有四个操作: 若 \(op=1\) ,则接下来两个整数 \(a,b\) ,表示可以将 \(a\) 变为 \(b\) 。 若 \( ...
分类:
其他好文 时间:
2021-04-05 12:14:54
阅读次数:
0
A.遍历二叉树是以一定的规则将二叉树中的结点排列成一个线性序列(DLR、LDR、LRD、DRL、RLD、RDL),这实质上是对非线性结构进行线性化操作。 B.将二叉树线索化能够不用递归,通过找到后继来线性地遍历二叉树 C.前驱、后继的信息是在动态遍历的过程中才知道的,需要保存下来,而n个结点的二叉链 ...
分类:
其他好文 时间:
2021-04-05 12:06:37
阅读次数:
0
class Sarr { public: Sarr() { memset(Bit, 0, sizeof(Bit)); } int lowbit(int pos) { return pos & (-pos); } void update(int pos, int len) { while (pos < ...
分类:
编程语言 时间:
2021-04-05 12:05:49
阅读次数:
0
二叉树的遍历 前序遍历 LeetCode.144. 二叉树的前序遍历 二叉树的前序/中序/后序遍历的非递归描述一般适合用深度优先搜索 (DFS, depth-first search), 并使用栈的数据结构. 版本1 递归 from typing import List class Node: de ...
分类:
其他好文 时间:
2021-04-05 11:47:20
阅读次数:
0
题目链接 #题目大意 求树上每个点到其他点的最大距离。 #解题思路 首先随便选择一个顶点作为根然后跑一遍dfs,记录每个顶点以其为根能到达的最大深度和次大深度,然后再跑一遍dfs,对于每个顶点,如果要到达一个距离最大的点,要么就是原来中的子树中的距离最大的点,要么就是经过父节点的某个点。 #代码 c ...
分类:
其他好文 时间:
2021-04-02 13:22:41
阅读次数:
0
XVI.「SWTR-03」Counting Trees 说起来他们那场比赛还找我帮忙验了这题来着的,然后我$50%$暴力都不会 先说结论:任何度数之和等于$2m-2$的$m$个节点,都可以构成至少一颗树。该结论可以通过一个名叫prufer序列的神奇玩意证出。 于是我们现在就有这样的判别式: \(\s ...
分类:
其他好文 时间:
2021-04-02 13:17:18
阅读次数:
0
package com.tianee.webframe.util.tree; import java.beans.IntrospectionException; import java.lang.reflect.InvocationTargetException; import java.lang. ...
分类:
其他好文 时间:
2021-04-01 13:43:38
阅读次数:
0