prufer
Hanks_o
一名。
展开
-
bzoj1005: [HNOI2008]明明的烦恼(prufer数列+高精度)
题目传送门 。。。解法: 卡了一天。。 原来是高精度数组开小了??? 其实就是组合嘛。 假设cnt为-1的个数。 sum为各个规定的度数-1的和。那么首先在一个n-2的prufer数列里面。 有sum个位置被确定了。 首先就是n-2里选sum。 然后sum个可以进行排列。 那么乘sum的阶乘。 但是里面会有重复。 所以需要除以每个(d[i]-1)的阶乘。 这里我用原创 2018-01-23 15:12:03 · 330 阅读 · 0 评论 -
bzoj1430: 小猴打架(prufer序列)
题目传送门 好神。解法: 了解到一种叫prufer序列的东西。 这个东西大概就是用n-2的序列表示出n个点的树。 %%%代码实现:#include#include#include#include#include#include#includeusing namespace std;typedef long long ll;const ll mod=9999原创 2018-01-18 14:55:15 · 317 阅读 · 0 评论 -
bzoj1211: [HNOI2004]树的计数
题目传送门 。。解法: prufer数列。 有这么三个性质: 一个prufer数列与一个无根树一一对应。 一个n个节点的无根树的prufer数列长度为n-2。 一个点的度数等于他在prufer数列里面出现的次数+1。。第三个性质这样证明: 首先需要了解prufer序列如何构造: 看这里 在prufer数列中,如果一个点出现了两次,那么肯定有两个点连向他。 那么还有一次呢原创 2018-01-19 15:29:01 · 395 阅读 · 0 评论