- 2024-10-3124.10.31
不喜欢CTT模拟赛。A我卡双模哈希?尊嘟假嘟?考虑先构造出两个串把第一个模卡掉,然后用这两个串拼出两个串把第二个模卡掉。两个过程是相同的。一个很唐的方法是先随机出一个串然后检查其是否有子串哈希冲突。B题解C题解P2575博弈论。可以注意到每行互不影响,所以组合游戏
- 2024-10-21Prufer序列和Cayley公式
首先定义无根树中度数为1的节点是叶子节点。找到编号最小的叶子并删除,序列中添加与之相连的节点编号,重复执行直到只剩下2个节点。这个序列为这棵树的Prufer序列。一棵有\(n\)个节点的无根树的Prufer序列的长度为n-2。显然,一棵无根树可以一一对应一个Prufer序列。而
- 2024-10-05浅谈 $prufer$ 序列
\(purfer\)序列,是为了证明\(cayley\)定理。具体来说,是将一个树映射到一个数组上,在数组上可以使得很多东西更加清晰的展示。构造\(prufer\)序列\(prufer\)是将一个大小为\(n\)的树映射到长度\(n-2\)的序列上。从一个无根树开始,我们将树入度为\(1\)的点找出来,及叶子
- 2024-10-03prufer序列
ps.之前刷题太快,现在考试碰到这种已经忘记了。定义:一种将带编号的树用唯一的一个整数序列表示的方法,即可以把一颗带标号的n个节点的树序列化为一个长度为n−2的唯一的序列。也就相当于完全图的生成树与数列之间的双射。构造方法:每次选择一个编号最小的叶节点并删掉它,并把其
- 2024-09-13Cayley公式
定理:对于一个有\(n\)个节点的无根树,它的结构可以有\(n^{n-2}\)种可能。至于证明,我们可以用\(prufer\)序列来证明。\(prufer\)序列度娘给出的定义是:\(Prufer\)数列是无根树的一种数列。在组合数学中,\(Prufer\)数列由有一个对于顶点标过号的树转化来的数列,点数为n的树
- 2024-08-28光之大陆
题目求的就是点仙人掌的数量;点仙人掌的所有环缩点之后就变成了一棵树,于是考虑无根树的数量怎么求,很显然利用Prufer序列就好了;然后考虑怎么将Prufer序列移植到点仙人掌上面,此时就要利用扩展Prufer序列扩展Prufer序列:对于一个点仙人掌来说,先将所有环缩点变成一棵树,然后将所有缩点离
- 2024-08-23卡特兰数、Prufer 序列、BSGS 总结
卡特兰数定义给定\(n\)个\(0\)和\(n\)个\(1\),它们构成一个长度为\(2n\)的排列,满足任意前缀中\(0\)的个数都不少于\(1\)的个数的序列的数量为卡特兰数列。显然\(H_0=H_1=1\)。(\(H\)为卡特兰数列)通项公式:\[H_n=\frac{\dbinom{2n}{n}}{n+1}\quad(n\ge2,n\in\math
- 2024-08-11Prufer序列
Prufer序列Prufer序列可以将一个带标号\(n\)个结点的树用\([1,n]\)中的\(n-2\)个整数表示,也可以理解为完全图的生成树与数列之间的双射。建立过程:每次选择编号最小的叶子节点并删掉,然后在序列中记录它连接的节点标号,重复\(n-2\)次后结束。不难发现:构造完Pruf
- 2024-05-30prufer序列
\(prufer\)序列大部分树上计数问题,都可以用它的性质来解决。1:从无根树到\(prufer\)序列:重复进行以下操作直到树中剩两个节点。1:找到度数为1的编号最小的节点。2:将其父节点加入队列,将这点删去。则该树的\(prufer\)序列为\(\left\{1,2,1,3,3,1\right\}\)2:从\(prufer\)序列
- 2024-05-22一个和prufer序相关的组合问题
对于所有长为\(n\)值域在\([1,m]\)的正整数序列,对于每一个\(1\leqslanti\leqslantm\)记\(c_{i}\)表示\(i\)在\(a\)中的出现次数,定义其权值为\(\prod_{i=1}^{m}c_{i}^{c_{i}+k}\),求所有序列的权值和对一个大质数\(p\)取模的结果(特别的,我们定义\(0^0=1\),且对于
- 2024-05-16prufer 序列学习笔记
prufer序列学习笔记知识点前言prufer序列是为了证明Cayley公式而被发明出来的,即一个\(n\)个点的完全图共有\(n^{n-2}\)个不同的树。prufer序列可以将一个\(n\)个点的树唯一映射到一个长度为\(n-2\)的序列上,即两棵树不同当且仅当它们的prufer序列不同。prufer
- 2024-04-17Prufer序列
Prufer序列通常在图的计数问题中比较常用。Prufer序列的构造方法:(图片源自oiwiki)具体操作步骤:先找到叶子结点中编号最小的节点,然后删除。在Prufer序列中的元素就是每次删除的节点的父节点。由于最后操作必然会剩下两个节点,两个节点都是叶子结点,于是操作完毕,最终构造出的Prufer序
- 2024-04-09CF156D-Prufer序列、多项式定理
link:https://codeforces.com/contest/156/problem/D题意:给一张无向简单图\(G\),问有多少种加边的方式,使得图联通,并且需要加的边最小。\(|E|,|V|\leq10^5\),对\(k\)取模前置知识应该是Prufer序列(这题应该是绕不开这个东西)对每个连通分支考虑答案,如果有\(k\)个连通分支,大小
- 2024-03-28Prufer 序列
以下\(d_i\)表示\(i\)的度数。Prufer序列完成了一个有标号无根树与序列的双射。长度为\(n-2\)的值域\([1,n]\)的序列一一对应一棵\(n\)个点的有标号无根树。构建序列的方式就是每次找编号最小的叶节点,然后把它连接的点加入序列,然后删掉这个叶节点。原因是什么我也不
- 2024-03-19Prufer序列
基本信息定义:prufer序列是无根树和序列的双向映射,并且描述了节点读书以及父节点的信息。使用场景:将构造树的问题转化为构造序列,将统计树的问题转化为统计序列,将树的dp转化为序列的dp。如何得到prufer序列?统计树上的所有节点的度数\(d_i\)。找到所有度数为\(1\)的节点
- 2024-02-21prufer序列
prufer序列是一种树形结构和数列相互映射的规则与其他序列的区别dfs序,将一棵子树映射为一段连续的区间二叉搜索树,中序遍历是单调不减的序列prufer序列:1.是一个和树的双射,唯一对应一棵树2.包含结点的度数和连接关系使用场景将构造树转化为构造序列,将统计树转化为统计序列
- 2024-01-30Prufer序列
Prufer序列是一种将树和序列双向映射的方式构造方法:统计树上结点的度数\(degree_i\)找到所有叶子结点\((degree_i==1)\)中编号最小的\(x\),输出\(fa_x\)将\(fa_x\)的度数减\(1\)重复步骤\(2-3\),直到只剩下\(n-2\)个元素为止性质:树上结点编号在prufer序中出现
- 2023-12-01prufer
1.prufer序列中某个编号出现的次数就等于这个编号的节点在无根树中的度数$(d)-1$2.一棵$n$个节点的无根树唯一地对应了一个长度为$n-2$的数列,数列中的每个数都在$1$到$n$的范围内。3.n个点的无向完全图的生成树的计数:$n^{n-2}$,即n个点的有标号无根树的计数4.$n$个节点的度
- 2023-11-20【数学】prufer 序列
题目描述请实现Prüfer序列和无根树的相互转化。为方便你实现代码,尽管是无根树,我们在读入时仍将\(n\)设为其根。对于一棵无根树,设\(f_{1\dotsn-1}\)为其父亲序列(\(f_i\)表示\(i\)在\(n\)为根时的父亲),设\(p_{1\dotsn-2}\)为其Prüfer序列。另外,对于一个长度
- 2023-11-01洛谷 P2290 [HNOI2004] 树的计数(Prufer序列,Cayley 公式)
传送门解题思路关于Prufer序列的构造,见OI-wiki这里直接放结论:一个Prufer序列与一个无根树一一对应度数为\(d_i\)的节点在序列中出现了\(d_i-1\)次\(\sum(d_i-1)=n-2\)n个点的完全图的生成树有\(n^{n-2}\)种所以相当于n-2个数(有重复的)进行全排列,答案即为:\[\frac
- 2023-10-29Prufer序列 学习笔记
2023.10.29晚,在随机做AtCoder的时候见到了[ABC303Ex]ConstrainedTreeDegree。然后开始思考DP,未果后看题解,发现是Prufer序列->尝试学习Prufer序列。什么是Prufer序列Prufer序列是一种将带标号的树用一个唯一的整数序列表示的方法,是解决树计数问题的工具。给一棵有根树
- 2023-10-01Prufer序列
Prufer序列的转化方法见这篇博客(这篇文章里这道模板题的高精处理方法也看看)这里主要是对这篇博客的一些说明。首先:为什么Prufer序列与无根树一一对应?我们要先知道两个引理:出现在Prufer序列中的点一定是原无根树的非叶子节点,没有出现在Prufer序列中的一定是原无根树的叶子节点
- 2023-09-27《prufer 序列》小记
今天模拟赛被卡科技了,学一下这个东西,之前也看到很多次,只不过一直都没学。算法简介这是一种可以将带标号的树,转成唯一的整数序列表示的方法。而在“数树”题中也有大用。算法流程大概是将带标号的\(n\)个节点的数用\([1,n]\)中的\(n-2\)个整数来表示一个树。也可以理解成
- 2023-09-06Prufer 序列 - 无根树的序列化
定义一种将带标号的树用一个唯一的整数序列表示的方法。Prufer序列可以把一颗带标号的\(n\)个节点的树序列化为一个长度为\(n-2\)的唯一的序列。也就相当于完全图的生成树与数列之间的双射。构造方式每次选择一个编号最小的叶节点并删掉它,然后在序列中记录下它连接到
- 2023-09-03*【学习笔记】(21) Prufer 序列
Prufer序列Prufer序列可以将一个带标号\(n\)个节点的树用\([1,n]\)中的\(n-2\)个整数表示,即\(n\)个点的完全图的生成树与长度为\(n-2\)值域为\([1,n]\)的数列构成的双射。Prufer序列可以方便的解决一类树相关的计数问题,比如凯莱定理:\(n\)个点的完全图的生成树有