有意思的题目,但是题目描述不正确(貌似阿三哥出的题目),让我走了一些弯路,很tmd无语。。输入严格来说根本不是树,是图来的,因为边是无向边。。但是它的输入保证了是没有环路的图,所以某种程度上可以看做是树(任何一个节点都可以为根节点,然后递归地把每个节点的邻居看做子节点)。
不过话说回来如果一开始告诉我这个图,我还真想不出来解法。。但是因为它“误导”了我,让我认为它是一颗树后,问题就简单了...
分类:
其他好文 时间:
2015-01-18 14:27:26
阅读次数:
141
两次DFS,先从下往上搜一次,记录每个点到子树的最长距离与次长距离。次长距离的目的是如果在第二次更新的时候,最长距离与该子节点的方向是同一个方向,那就不能用这个最长距离了,只能用次长距离来更新。那么第二次dfs就是来从上往下来更新状态的。
代码如下:
#include
#include
#include
#include
#include
#include
#include
#i...
分类:
其他好文 时间:
2015-01-18 11:51:14
阅读次数:
160
题目大意:每台新电脑都与某一台原电脑相连有一个长度,求每台电脑相距其最远的电脑的距离这里因为第一台电脑是最初的,所以可以将第一台电脑作为树根,其他电脑分布就可以形成一棵树这里距离有两种,一种是往树底找,一种是往父节点方向走第一次dfs记录下每个节点往子节点方向找到其树底的最长距离,第二次dfs记录每...
分类:
其他好文 时间:
2015-01-17 13:50:59
阅读次数:
132
红黑树
时间限制:3000 ms | 内存限制:65535 KB
难度:3
描述
什么是红黑树呢?顾名思义,跟枣树类似,红黑树是一种叶子是黑色果子是红色的树。。。
当然,这个是我说的。。。
《算法导论》上可不是这么说的:
如果一个二叉查找树满足下面的红黑性质,那么则为一个红黑树。
1)每个节点或是红的,或者是黑的。
2)每个叶子节点...
分类:
其他好文 时间:
2015-01-16 22:30:55
阅读次数:
162
一、遍历 1、向下遍历,children、find children只能向下遍历儿子节点的所有元素,find遍历当前元素下面的所有子节点 2、向上遍历,parent,parents,parentsUntil parent只遍历当前节点的父节点,parents遍历当前节点的所有父级节点,par...
分类:
Web程序 时间:
2015-01-16 18:39:08
阅读次数:
110
题意大概:
将多叉树转化为括号表达式。
每个节点除了“-”、“|”、和空格以外的其它字符表示。
每个非叶节点的正下方总会有一个“|”字符,然后下方是一排“-”字符,恰好覆盖所有的子节点的上方。
单独的一行“#”为数据结束标记。...
分类:
其他好文 时间:
2015-01-15 20:21:44
阅读次数:
126
堆:是一种完全二叉树的数据结构,并且具有每个非叶子节点(索引i,从0开始的话)的值大于其左右子节点(2*i+1)的值(大根堆),或者小于其左右子节点(2*i+2)的值(小根堆)。堆的性质决定了其根节点的值必然整个堆中的最大值或者最小值,因此使用堆的这个特性,发明了堆排序。堆排序的大致原理: 1. ....
分类:
编程语言 时间:
2015-01-15 15:47:15
阅读次数:
212
/*
dp[i][0]表示第i个人不去的时候能得到的最大值
dp[i][1]表示第i个人去的时候得到的最大值
状态转移方程:
dp[i][0]+=max(dp[next][0],dp[next][1])
dp[i][1]+=dp[next][0]
其中next为其子节点
*/
#include
#include
#include
#include
using namespa...
分类:
其他好文 时间:
2015-01-14 23:01:13
阅读次数:
323
/*
dp[i][j]表示第i个节点及其子树取j个所得的最大值
在第i个节点的儿子节点有多个,而对于每个儿子节点及其对应的子树中选几个节点才能得到最大值
可以用背包来做
*/
#include
#include
#include
#include
using namespace std;
#define maxn 210
int dp[maxn][maxn];//dp[i][...
分类:
其他好文 时间:
2015-01-14 23:00:20
阅读次数:
364
Android中选项卡功能的实现Android中使用TabHost和TabWidget来实现选项卡功能。TabHost必须是布局的根节点,它包含两个子节点:TabWidget,显示选项卡;FrameLayout,显示标签内容。实现选项卡功能有两种方法,一种是将多个View放在同一个Activity中...
分类:
移动开发 时间:
2015-01-14 14:16:57
阅读次数:
135