1、二叉排序树删除节点P 假设节点P是节点F的左子树 1)节点P无子节点 直接删除,其他节点不动。 2)节点P只有左子节点Pl或者右子节点Pr 删除P,将Pl或者Pr挂载为F节点的左子树。如果P为F的右子树,则挂载为F的右子树。这样也不会破坏二叉排序树的特性(指排序的变化)。 3)节点P既有左子树P ...
分类:
编程语言 时间:
2017-08-02 21:02:24
阅读次数:
102
思路:判断子树节点个数和k的最小值就好了,long long ...
分类:
其他好文 时间:
2017-08-01 19:13:11
阅读次数:
107
1、什么是决策树(Decision Tree) 决策树是一个类似于流程图的树结构,其中每一个树节点表示一个属性上的测试,每一个分支代表一个属性的输出,每一个树叶节点代 表一个类或者类的分布,树的最顶层是树的根节点。 举一个例子。小明同学想根据天气情况是否享受游泳运动: 这里包含了6个属性,一条样例即 ...
分类:
编程语言 时间:
2017-07-30 17:08:14
阅读次数:
193
LCA_Tarjan LCA的Tarjan算法的时间复杂度为O(n+q)是一种离线算法,要用到并查集。Tarjan算法基于dfs,在dfs的过程中,对于每个节点位置的询问做出相应的回答。dfs的过程中,当一棵子树被搜索完成之后,就把他和他的父亲合并成同一集合;在搜索当前子树节点的询问时,如果该询问的 ...
分类:
编程语言 时间:
2017-07-29 16:39:04
阅读次数:
313
链接:http://poj.org/problem?id=1741 题意:给出一棵树,节点数为N(N<=10000),给出N-1条边的两点和权值,给出数值k,问树上两点最短距离小于k的点对有多少个。 思路:拿到题的第一反应是LCA问题,只是细一想询问次数极限情况能够达到10000*5000次。即使用 ...
分类:
其他好文 时间:
2017-07-23 21:08:20
阅读次数:
176
部门部分 首先实现对根部门的增删改查,这里需要一个treeview控件 部门,增加一个AddDeptDlg窗体,这里修改部门传值给子窗体我想到的有两种方法1,定义一个公共类,在里面定义一个全局的静态变量用来存放树节点。2,通过初始化构造函数传值给主窗体,我用的是第二种方法,实例代码如下: 1 pri ...
这个。。。一開始用的是longlong 然后改成int就wa了。。。。 时间垫底。。。。。 可怕 全局分治 然后用线段树维护的时候直接永久化标记 不用下传 然后这一题和上一道树套树一样。又是由于自己傻逼少了一倍的线段树节点然后一直OLE不知道怎么了。。。 人傻没办法 #include<cstdio> ...
分类:
其他好文 时间:
2017-07-22 12:10:07
阅读次数:
157
P3398 仓鼠找sugar 224通过 860提交 题目提供者 fjzzq2002 标签 云端↑ 难度 提高+/省选- 时空限制 1s / 128MB 题目描述 小仓鼠的和他的基(mei)友(zi)sugar住在地下洞穴中,每个节点的编号为1~n。地下洞穴是一个树形结构。这一天小仓鼠打算从从他的卧 ...
分类:
其他好文 时间:
2017-07-17 18:37:22
阅读次数:
188
题意: 一棵n个节点的树,节点有黑白两种颜色,初始均为白色。两种操作:1.更改一个节点的颜色;2.询问一个节点所处的颜色相同的联通块的大小。 思路: 1.每个节点记录仅考虑其子树时,假设其为黑色时所处的黑色联通块的大小和假设其为白色时所处的白色联通块的大小(树状数组维护)。 2.查询时找到深度最小的 ...
分类:
其他好文 时间:
2017-07-16 11:15:39
阅读次数:
279
题目描述 给定一棵有n个节点的无根树和m个操作,操作有2类: 1、将节点a到节点b路径上所有点都染成颜色c; 2、询问节点a到节点b路径上的颜色段数量(连续相同颜色被认为是同一段),如“112221”由3段组成:“11”、“222”和“1”。 请你写一个程序依次完成这m个操作。 给定一棵有n个节点的 ...
分类:
其他好文 时间:
2017-07-15 15:55:52
阅读次数:
183