[行列式计算]BZOJ1002: [FJOI2007]轮状病毒

来源:互联网 发布:office for mac 知乎 编辑:程序博客网 时间:2024/04/29 22:32

1002: [FJOI2007]轮状病毒

Time Limit: 1 Sec  Memory Limit: 162 MB
Submit: 1907  Solved: 1034
[Submit][Status]

Description

 给定n(N<=100),编程计算有多少个不同的n轮状病毒。

Input

第一行有1个正整数n。

Output

将编程计算出的不同的n轮状病毒数输出

Sample Input

3

Sample Output

16

HINT

Source


很裸的生成树计数,只是要写高精我表示很不开心!
设矩阵D,并满足当i=j时,DIJ为I的度数,当I<>J时,DIJ=0
设矩阵G,满足当存在边(u,v)时,G[u,v]=1
设矩阵K=D-G
然后去掉K的任意一行一列之后,得到矩阵S
计算S的行列式值即得答案
计算行列式值时可以用高斯消元法,把行列式化为上三角形式,之后答案就是对角线上的数的乘积
我是打表冲rank的,所以不贴代码了~~
据说这题还有线性关系的递推式.
0 0
原创粉丝点击