Purfer Sequence
原文地址:http://www.cnblogs.com/zhj5chengfeng/archive/2013/08/23/3278557.html
我们知道,一棵树可以用括号序列来表示,但是,一棵顶点标号(1~n)的树,还可以用一个叫做 Purfer Sequence 的数列表示
一个含有 n 个节点的 Purfer Sequence 有 n-2 个数,Purfer Sequence 中的每个数是 1~n 中的一个数
一个定理:一个 Purfer Sequence 和一棵树一一对应
先看看怎么由一个树得到 Purfer Sequence
由一棵树得到它的 Purfer Sequence 总共需要 n-2 步,每一步都在当前的树中寻找具有最小标号的叶子节点(度为 1),将与其相连的点的标号设为 Purfer Sequence 的第 i 个元素,并将此叶子节点从树中删除,直到最后得到一个长度为 n-2 的 Purfer Sequence 和一个只有两个节点的树
看看下面的例子:
假设有一颗树有 5 个节点,四条边依次为:(1, 2), (1, 3), (2, 4), (2, 5),如下图所示:

第 1 步,选取具有最小标号的叶子节点 3,将与它相连的点 1 作为第 1 个 Purfer Number,并从树中删掉节点 3:

第 2 步,选取最小标号的叶子节点 1,将与其相连的点 2 作为第 2 个 Purfer Number,并从树中删掉点 1:

第 3 步,选取最小标号的叶子节点 4,将与其相连的点 2 作为第 3 个 Purfer Number,并从树中删掉点 4:

最后,我们得到的 Purfer Sequence 为:1 2 2
不难看出,上面的步骤得到的 Purfer Sequence 具有唯一性,也就是说,一个树,只能得到一个唯一的 Purfer Sequence
接下来看,怎么由一个 Purfer Sequence 得到一个树
由 Purfer Sequence 得到一棵树,先将所有编号为 1 到 n 的点的度赋初值为 1,然后加上它在 Purfer Sequence 中出现的次数,得到每个点的度
先执行 n-2 步,每一步,选取具有最小标号的度为 1 的点 u 与 Purfer Sequence 中的第 i 个数 v 表示的顶点相连,得到树中的一条边,并将 u 和 v 的度减一
最后再把剩下的两个度为 1 的点连边,加入到树中
我们可以根据上面的例子得到的 Purfer Sequence :1 2 2 重新得到一棵树
Purfer Sequence 中共有 3 个数,可以知道,它表示的树中共有 5 个点,按照上面的方法计算他们的度为下表所示:
| 顶点 | 1 | 2 | 3 | 4 | 5 |
| 度 | 2 | 3 | 1 | 1 | 1 |
第 1 次执行,选取最小标号度为 1 的点 3 和 Purfer Sequence 中的第 1 个数 1 连边:

将 1 和 3 的度分别减一:
| 顶点 | 1 | 2 | 3 | 4 | 5 |
| 度 | 1 | 3 | 0 | 1 | 1 |
第 2 次执行,选取最小标号度为 1 的点 1 和 Purfer Sequence 中的第 2 个数 2 连边:

将 1 和 2 的度分别减一:
| 顶点 | 1 | 2 | 3 | 4 | 5 |
| 度 | 0 | 2 | 0 | 1 | 1 |
第 3 次执行,将最小标号度为 1 的点 4 和 Purfer Sequence 第 3 个数 2 连边:

将 2 和 4 的度分别减一:
| 顶点 | 1 | 2 | 3 | 4 | 5 |
| 度 | 0 | 1 | 0 | 0 | 1 |
最后,还剩下两个点 2 和 5 的度为 1,连边:

至此,一个 Purfer Sequence 得到的树画出来了,由上面的步骤可知,Purfer Sequence 和一个树唯一对应。
综上,一个 Purfer Sequence 和一棵树一一对应。
2016年1月10日15:37:54
Purfer Sequence的更多相关文章
- BZOJ 1005 [HNOI2008] 明明的烦恼(组合数学 Purfer Sequence)
题目大意 自从明明学了树的结构,就对奇怪的树产生了兴趣...... 给出标号为 1 到 N 的点,以及某些点最终的度数,允许在任意两点间连线,可产生多少棵度数满足要求的树? Input 第一行为 N( ...
- bzoj 1005 组合数学 Purfer Sequence
这题需要了解一种数列: Purfer Sequence 我们知道,一棵树可以用括号序列来表示,但是,一棵顶点标号(1~n)的树,还可以用一个叫做 Purfer Sequence 的数列表示 一个含有 ...
- HNOI2008 明明的烦恼 (purfer序列 + 组合数学)
传送门 这道题题意描述很清楚,不过我自己做的时候确实是一头雾水……又看了题解,发现要用到一个新知识,叫purfer序列. 我们来简单说一下什么是purfer序列.它可以被看作一种树的表现形式.一棵含有 ...
- 2016.3.22考试(HNOI难度)
T1 盾盾的打字机 盾盾有一个非常有意思的打字机,现在盾哥要用这台打字机来打出一段文章. 由于有了上次的经验,盾盾预先准备好了一段模板A存在了内存中,并以此为基础来打出文章B.盾盾每次操作可以将内存中 ...
- BZOJ_1005_ [HNOI2008]_明明的烦恼_(组合数学+purfer_sequence+高精度+分解因数+快速幂)
描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1005 一棵树有n个点,给出没给节点的度,如果没有限制则为-1,求共有多少种可能的树. 分析 蒟 ...
- BZOJ 1005 明明的烦恼
Description 自从明明学了树的结构,就对奇怪的树产生了兴趣...... 给出标号为1到N的点,以及某些点最终的度数,允许在任意两点间连线,可产生多少棵度数满足要求的树? Input 第一行为 ...
- bzoj 1005 [HNOI2008] 明明的烦恼 (prufer编码)
[HNOI2008]明明的烦恼 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 5907 Solved: 2305[Submit][Status][Di ...
- BZOJ 1~10 精简题解
从这星期起,我开始了怒刷BZOJ的旅程.这几天刷了10道题(由于"档期"的原因,所以有几道题没打完-..捂脸--..) 精简题解: 1000 A+B Problem --.. [B ...
- bzoj1004 purfer 序列
之前没不知道这个数列. 一个purfer序列与一棵树一一对应. 长度为n的purfer的集合: A = { s | s is a sequence and a∈[1,len(s)+2] 一个直接的结论 ...
随机推荐
- POJ推荐50题
此文来自北京邮电大学ACM-ICPC集训队 此50题在本博客均有代码,可以在左侧的搜索框中搜索题号查看代码. 以下是原文: POJ推荐50题1.标记“难”和“稍难”的题目可以看看,思考一下,不做要求, ...
- [Linux]系统调用理解(2)
本文介绍了Linux下的进程概念,并着重讲解了与Linux进程管理相关的4个重要系统调用getpid,fork,exit和_exit,辅助一些例程说明了它们的特点和使用方法. 关于进程的一些必要知识 ...
- SQLLocalDB 11.0持续报错,这是泥马德什么问题啊!!!
Windows API 调用 WaitForMultipleObjects 返回了错误代码: 575.Windows 系统错误消息为: {应用程序错误}应用程序无法正常启动(0x%lx).请单击“确定 ...
- [转] ImageView的android:adjustViewBounds属性
原文链接:http://blog.csdn.net/pingchuanyang/article/details/9252689 取值为true时: Adjust the ImageView's b ...
- c# ContinueWith 用法
通过任务,可以指定在任务完成之后,应开始运行之后另一个特定任务.例如,一个使用前一个任务的结果的新任务,如果前一个任务失败了,这个任务就应执行一些清理工作.任务处理程序都不带参数或者带一个对象参数,而 ...
- QTableWidget去除选中虚边框
m_tableWidget->setFocusPolicy(Qt::NoFocus); //去除选中虚线框
- SPRING MVC总结
DispatcherServlet -- 前置控制器HandlerMapping接口 -- 处理请求的映射HandlerMapping接口的实现类:DefaultAnnotationHandlerMa ...
- SVN-功能介绍之切换
当初新建项目IMyYa 提交到svn 目录下file:///H:/svn/truck/IMyYa 现在svn 目录版本库中调整为file:///H:/svn/truck/Win8/IMyYa 与之前不 ...
- Sublime Text3 安装markdown插件
1.打开Sublime Text,使用快捷键 ctrl+` (左上角Tab键上方,Esc键下方)或者使用菜单 View > Show Console menu,此时将出现Sublime Text ...
- POJ 1743 Musical Theme 二分+后缀数组
Musical Theme Description A musical melody is represented as a sequence of N (1<=N<=20000)no ...