首页 > 其他分享 >prufer序列

prufer序列

时间:2024-05-30 15:44:45浏览次数:21  
标签:right 根树 序列 prufer 节点 left

\(prufer\)序列

大部分树上计数问题,都可以用它的性质来解决。

1:从无根树到\(prufer\)序列:

重复进行以下操作直到树中剩两个节点。

1:找到度数为1编号最小的节点。

2:将其父节点加入队列,将这点删去。

则该树的\(prufer\)序列为\(\left\{ 1,2,1,3,3,1\right\}\)

2:从\(prufer\)序列到无根树:

1:取出\(prufer\)序列最前面的元素\(x\)。

2:取出在点集中的、且当前不在\(prufer\)序列中的最小元素\(y\)。

3:在\(x,y\)之间连接一条边。

4:我们在点集中剩下的两个点中连一条边。

3:重要性质:

1:\(prufer\)序列与无根树一一对应。

2:度数为\(d_i\)的节点会在\(prufer\)序列中出现\(d_i-1\)次。

3:一个\(n\)个节点的完全图的生成树个数为\(n^{n-2}\)。

4:对给定度数\(d_1,d_2,\cdots,d_n\)的无根树共有\(\dfrac{\left( n-2\right) !}{\Pi _{i,=1}^{n}\left( d_{i}-1\right) }\)种。

标签:right,根树,序列,prufer,节点,left
From: https://www.cnblogs.com/Peng1984729/p/18222522

相关文章

  • Jackson序列化为字符串时对指定字段脱敏
    枚举脱敏字段类型及规则importjava.util.function.Function;publicenumTextMaskStrategy{ID_NO("身份证",18,text->"*".repeat(text.length()-4)+text.substring(text.length()-4)),PHONE("手机号",11,text->text.substr......
  • (附nuclei yaml文件)泛微E-office 10 atuh-filephar反序列化命令执行漏洞复现(QVD-2024-1
    (附nucleiyaml文件)泛微E-office10atuh-filephar反序列化命令执行漏洞复现(QVD-2024-11354)声明本文仅用于技术交流,请勿用于非法用途由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。1、漏洞简介泛......
  • 面试题 - C# 交错序列求和
    试题求以下表达式的值,写出您想到的一种或几种实现方法:1-2+3-4+.....+m?最好用C#代码实现。分析这个表达式是一个交错序列的和,其中正数和负数交替出现。通常我们可以使用循环来实现这个计算,但面试官更青睐效率高的方式实现。直观循环法这种方法简单易懂,适合初学者理解和实现......
  • Newtonsoft.Json 序列化器的重写
    //TGD_AUDIT_STATUS、TGD_DEPT_ID都是Int32?的数据类型,如果他们的值包含小数点时直接反序列化会报错的,异常是:字符串的格式不正确,所以此时可以进行客户自定义反序列化的规则设定,这样就问题解决了。自定义实现类中,反序列化时调用ReadJson方法,序列化时调用WriteJson方法。stringj......
  • 【Embedding合集】推荐系统/风控领域中动态连续型不定长序列数据处理方案
    【Embedding合集】推荐系统/风控领域中动态连续型不定长序列数据处理方案在推荐系统或是风控领域都存在这样一类动态连续型序列数据,如用户最近一个月消费记录,最近半年还款记录等等,这些序列数据的每一个元素都是连续型的数字,并且长度不定(每个用户消费的笔数都不一样),但这类动......
  • leetcode 3165. 不包含相邻元素的子序列的最大和
    思路题目中不相邻子序列和的最大值是满足加和性质的,考虑使用线段树,这里我用了4颗线段树,sum[o][l][r]中l=0和l=1分别表示当前区间是否选取左端点作为子序列的一部分,r=0和r=1分别表示当前区间是否选取右端点作为子序列的一部分。接下来就是线段树单点更新。1#defineIOstd::i......
  • 7-52 求简单交错序列前N项和
    本题要求编写程序,计算序列1-1/4+1/7-1/10+...的前N项之和。输入格式:输入在一行中给出一个正整数N。输出格式:在一行中按照“sum=S”的格式输出部分和的值S,精确到小数点后三位。题目保证计算结果不超过双精度范围。输入样例:10输出样例:sum=0.819#inc......
  • 7-51 求奇数分之一序列前N项和
    本题要求编写程序,计算序列1+1/3+1/5+...的前N项之和。输入格式:输入在一行中给出一个正整数N。输出格式:在一行中按照“sum=S”的格式输出部分和的值S,精确到小数点后6位。题目保证计算结果不超过双精度范围。输入样例:23输出样例:sum=2.549541#include<......
  • 数据容器(序列)的切片 学会啦
    1.序列内容连续、有序,可使用下标索引的数据容器。(列表、元组、字符串都可以称为序列)2.切片从一个序列中取出一个子序列。3.语法:序列[起始下标:结束下标:步长]4.从序列中,从指定位置开始,依次取出元素,到指定位置结束,得到一个新序列:·起始下标表示从何开始,可以留空(表示从头......
  • 序列化与反序列化(GO)
    GO序列化与反序列化定义序列化:把对象转化为可传输的字节序列的过程称为序列化反序列化:把字节序列还原为对象的过程称为反序列化。--作为开发者,序列化和反序列化一直是我们老生常谈的问题,也是非常琐碎但是重要的知识点。对于序列化与反序列化,我这里强烈推荐一篇博客,你可以从中......