
prufer编码
Lynstery
一只蒟蒻
展开
-
[Prufer数列] BZOJ1005: [HNOI2008]明明的烦恼
题意给出n个节点的度数di,允许在任意两点间连线,可产生多少棵度数满足要求的树?若对度数不要求,则di=-1。 n<=1005;题解这道题需要知道Prufer数列的知识。 prufer数列是无根树的一种数列,数列与树两两对应。也就是说一种树只有唯一的一种数列来表示它。反过来给你一个数列,你总能把他转化成对应的唯一的树。 下面看数列和树是如何相互转换的: 树–>数列:每次选编号最小的叶节点(度原创 2017-02-19 23:19:59 · 487 阅读 · 0 评论 -
[容斥+Purfer编码] 51Nod1806 wangyurzee的树
很久以前看过 PurferPurfer 但忘完了…补一补… mm 只有 1717,所以想到暴力容斥。而确定一些节点的度的生成树个数可以直接用 PurferPurfer 解决。 具体来说,若有 cntcnt 个点的度数有约束,分别为v1,v2....vcntv_1,v_2....v_{cnt}。总方案为: (n−2−∑(vi−1))n−cnt∗∏i=1cnt(∑cntk=1(vk−1)vi−1)原创 2017-10-19 09:19:21 · 324 阅读 · 0 评论