树 Time Limit: 10 Sec  Memory Limit: 256 MB Description Input Output Sample Input 3 2 2 1 Sample Output   3 3 2 HINT Solution 由于是带标号的无根树的计数,于是我们运用prufer编码的性质来解题. prufer编码的几个性质: 1.对于大小为s的树,prufer编码是一个长度为 s-2 的序列: 2.i在序列中出现的次数<deg[i]: 3.一个prufer编码表示一棵树.…
题目描述 给定一个完全图,保证\(w_{u,v}=w_{v,u}\)且\(w_{u,u}=0\),等概率选取一个随机生成树,对于每一对\((u,v)\),求\(dis(u,v)\)的期望值对\(998244353\)取模. 输入 第一行一个数\(n\) 接下来\(n\)行,每行\(n\)个整数,第\(i\)行第\(j\)个整数表示\(w_{i,j}\) 输出 输出共\(n\)行,每行\(n\)个整数,第\(i\)行第\(j\)个整数表示\(dis(i,j)\)的期望值 样例 样例输入 4 0 1…
  Prufer数列 Prufer数列是无根树的一种数列.在组合数学中,Prufer数列由有一个对于顶点标过号的树转化来的数列,点数为n的树转化来的Prufer数列长度为n-2.它可以通过简单的迭代方法计算出来.它由Heinz Prufer于1918年在证明cayley定理时首次提出. 目录 1将树转化成Prufer数列的方法 2将Prufer数列转化成树的方法     将树转化成Prufer数列的方法 一种生成Prufer序列的方法是迭代删点,直到原图仅剩两个点.对于一棵顶点已经经过编号的树T…
BSOJ我也不知道在哪. 容易想到容斥. 考虑不合法的方案 想到强制某个点的度数为限制即可. 这样就变成了了总方案-一个不合法+两个不合法-3个......的模型了. 坑点 当强制两个相同的点时 方案数为0. 当 序列长度>n-2的时候 方案数为0. 注意一些边界条件啥的.这样的话利用爆搜就很好写了. const ll MAXN=1000010; ll n,len,m; ll ans,fac[MAXN],inv[MAXN]; ll w[MAXN],du[MAXN],vis[MAXN]; inli…
HDU 4390 题意: 大概就是这样.不翻译了: Given a number sequence b1,b2-bn. Please count how many number sequences a1,a2,...,ansatisfy the condition thata1∗a2∗...∗an=b1∗b2∗-∗bn(ai,bi>1). 思路: 我们能够确定一件事:等号两边由同样数量的质因子组成. 假设ai能够等于1,答案就是把这些质因子分配进n个位置的方案数. 设左边的数字共由x个质因子组成…
3027: [Ceoi2004]Sweet Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 71  Solved: 34 Description John得到了n罐糖果.不同的糖果罐,糖果的种类不同(即同一个糖果罐里的糖果种类是相同的,不同的糖果罐里的糖果的种类是不同的).第i个糖果罐里有 mi个糖果.John决定吃掉一些糖果,他想吃掉至少a个糖果,但不超过b个.问题是John 无法确定吃多少个糖果和每种糖果各吃几个.有多少种方法可以做这件事呢? I…
基准时间限制:1 秒 空间限制:131072 KB    wangyurzee有n个各不相同的节点,编号从1到n.wangyurzee想在它们之间连n-1条边,从而使它们成为一棵树.可是wangyurzee发现方案数太多了,于是他又给出了m个限制条件,其中第i个限制条件限制了编号为u[i]的节点的度数不能为d[i].一个节点的度数,就是指和该节点相关联的边的条数.这样一来,方案数就减少了,问题也就变得容易了,现在请你告诉wangyurzee连边的方案总数为多少.答案请对1000000007取模.…
这不prufer编码吗,防爆long long就行了啊 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <cmath> #define R(a,b,c) for(register int a = (b); a <= (c); ++ a) #define nR(a,b,c) for(register int a = (…
1005: [HNOI2008]明明的烦恼 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 5768  Solved: 2253[Submit][Status][Discuss] Description 自从明明学了树的结构,就对奇怪的树产生了兴趣......给出标号为1到N的点,以及某些点最终的度数,允许在 任意两点间连线,可产生多少棵度数满足要求的树? Input 第一行为N(0 < N < = 1000), 接下来N行,第i+1行给出第i个节…
prufer是无根树的一种编码方式,一棵无根树和一个prufer编码唯一对应,也就是一棵树有唯一的prufer编码,而一个prufer编码对应一棵唯一的树. 第一部分:树编码成prufer序列. 树编码成prufer序列的方式是:prufer序列初始为空.每次从树上选出一个编号最小的叶子节点,然后将与该叶子节点相邻的那个节点的编号写入prufer序列的末尾,之后从树上删掉这个叶子节点.循环这个步骤n-2次,最后得到一个长度为n-2的prufer序列(此时树中只有一条边,我们就不管它了). 我们以…