[BZOJ2467] [中山市选2010] 生成树 (排列组合)

Description

  有一种图形叫做五角形圈。一个五角形圈的中心有1个由n个顶点和n条边组成的圈。在中心的这个n边圈的每一条边同时也是某一个五角形的一条边,一共有n个不同的五角形。这些五角形只在五角形圈的中心的圈上有公共的顶点。如图0所示是一个4-五角形圈。

  现在给定一个n五角形圈,你的任务就是求出n五角形圈的不同生成树的数目。还记得什么是图的生成树吗?一个图的生成树是保留原图的所有顶点以及顶点的数目减去一这么多条边,从而生成的一棵树。

  注意:在给定的n五角形圈中所有顶点均视为不同的顶点。

Input

  输入包含多组测试数据。第一行包含一个正整数T,表示测试数据数目。每组测试数据包含一个整数n( 2<=N<=100),代表你需要求解的五角形圈中心的边数。

Output

  对每一组测试数据,输出一行包含一个整数x,表示n五角形圈的生成树数目模2007之后的结果。

Sample Input

1
2

Sample Output

40

HINT

Source

Solution

  追求不用$Matrix$-$Tree$的快感~

  首先每个五边形必须要删掉一条边,这样剩下来了一个基环树

  画画图可以发现,在这个环上删边一定会导致有一个五边形多删一条边

  而如果一个五边形被删了两条边,那么有一条一定在中心的那个$n$边形上,否则无法形成联通图

  所以首先选择一个删除两条边的五边形,有$n$种可以选择,然后每个五边形删掉一条边,答案就是$4n*5^{n-1}$

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 int main()
 4 {
 5     int t, n, ans;
 6     cin >> t;
 7     while(t--)
 8     {
 9         cin >> n;
10         ans = 4 * n;
11         for(int i = 1; i < n; ++i)
12             ans = (ans * 5) % 2007;
13         cout << ans << endl;
14     }
15     return 0;
16 }

时间: 2024-10-13 07:58:38

[BZOJ2467] [中山市选2010] 生成树 (排列组合)的相关文章

[bzoj2467][中山市选2010]生成树_快速幂

生成树 bzoj-2467 中山市选2010 题目大意:题目链接 注释:略. 想法:首先,考虑生成树的性质.每两个点之间有且只有一条路径.我们将每个五边形的5条边分为外面的4条边和内部的一条边,在此简称为外边和内边.那么显然,每个五边形的4条外边至少需要选3条. 如果选了3条外边而且内边也没选,那么这个五边形就会被拆成两个部分.如果有2个五边形这么做,就会有两个部分之间直接断开,不符合生成树的定义.而且想让一个五边形和另一个五边形断开或者这个五边形从自身断开,只有这一种方案.如果没有任何一个五边

BZOJ2467 [中山市选2010]生成树

本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/转载请注明出处,侵权必究,保留最终解释权! 题目链接:BZOJ2467 正解:矩阵树定理 or  组合数学 解题报告: 这道题有两种做法- 一种是建图,然后用$Matrix-Tree$定理强上,建出基尔霍夫矩阵,高斯消元,但是建图的话有点麻烦. 还有一种就是纯粹从组合数学的角度了: 考虑如果$n$个

BZOJ2467: [中山市选2010]生成树1

Description 有一种图形叫做五角形圈.一个五角形圈的中心有1个由n个顶点和n条边组成的圈.在中心的这个n边圈的每一条边同时也是某一个五角形的一条边,一共有n个不同的五角形.这些五角形只在五角形圈的中心的圈上有公共的顶点.如图0所示是一个4-五角形圈. 现在给定一个n五角形圈,你的任务就是求出n五角形圈的不同生成树的数目.还记得什么是图的生成树吗?一个图的生成树是保留原图的所有顶点以及顶点的数目减去一这么多条边,从而生成的一棵树. 注意:在给定的n五角形圈中所有顶点均视为不同的顶点. I

BZOJ 2467: [中山市选2010]生成树 [组合计数]

2467: [中山市选2010]生成树 Time Limit: 5 Sec  Memory Limit: 128 MBSubmit: 638  Solved: 453[Submit][Status][Discuss] Description 有一种图形叫做五角形圈.一个五角形圈的中心有1个由n个顶点和n条边组成的圈.在中心的这个n边圈的每一条边同时也是某一个五角形的一条边,一共有n个不同的五角形.这些五角形只在五角形圈的中心的圈上有公共的顶点.如图0所示是一个4-五角形圈. 现在给定一个n五角形

【bzoj 2467】[中山市选2010]生成树(数论--排列组合)

题目:有一种图形叫做五角形圈.一个五角形圈的中心有1个由n个顶点和n条边组成的圈.在中心的这个n边圈的每一条边同时也是某一个五角形的一条边,一共有n个不同的五角形.这些五角形只在五角形圈的中心的圈上有公共的顶点.现在给定一个n五角形圈,你的任务就是求出n五角形圈的不同生成树的数目.还记得什么是图的生成树吗?一个图的生成树是保留原图的所有顶点以及顶点的数目减去一这么多条边,从而生成的一棵树.注意:在给定的n五角形圈中所有顶点均视为不同的顶点. 解法:题目是问使这 N 五角形圈生成树的种数.而生成树

【bzoj2467】[中山市选2010]生成树 矩阵树定理

题目描述 有一种图形叫做五角形圈.一个五角形圈的中心有1个由n个顶点和n条边组成的圈.在中心的这个n边圈的每一条边同时也是某一个五角形的一条边,一共有n个不同的五角形.这些五角形只在五角形圈的中心的圈上有公共的顶点.如图0所示是一个4-五角形圈. 现在给定一个n五角形圈,你的任务就是求出n五角形圈的不同生成树的数目.还记得什么是图的生成树吗?一个图的生成树是保留原图的所有顶点以及顶点的数目减去一这么多条边,从而生成的一棵树. 注意:在给定的n五角形圈中所有顶点均视为不同的顶点. 输入 输入包含多

BZOJ 2467 中山市选2010 生成树 组合数学

题目大意:给定一个图,图的中心是一个n个点的多边形,每条边都外接一个五边形,求生成树个数 Matrix Tree定理?不会! 观察这个图 5n条边 4n个点 每个五边形都是一个环 必须拆掉一条边 拆掉之后发现4n个点 4n条边 是一个基环树 基环树的环上的边由中心多边形被拆掉的边所在的五边形的剩余边与中心多边形未被拆掉的边构成 容易发现这个环上任意拆掉一条边都会导致某个五边形被拆掉两条边 且一条边在中心多边形上 于是可知 这个图成为一棵树当且仅当一个五边形被拆掉两条边 剩余五边形被拆掉一条边 且

bzoj 2468: [中山市选2010]三核苷酸

2468: [中山市选2010]三核苷酸 Description 三核苷酸是组成DNA序列的基本片段.具体来说,核苷酸一共有4种,分别用’A’,’G’,’C’,’T’来表示.而三核苷酸就是由3个核苷酸排列而成的DNA片段.三核苷酸一共有64种,分别是’AAA’,’AAG’,…,’GGG’.给定一个长度为L的DNA序列,一共可以分辨出(L-2)个三核苷酸.现在我们想用一些统计学的方法来进行一些分析,步骤如下: 1.       对于这(L-2)个三核苷酸,我们从左到右给予编号,分别为1到L-2.

【中山市选2010】【BZOJ2467】生成树

Description 有一种图形叫做五角形圈.一个五角形圈的中心有1个由n个顶点和n条边组成的圈. 在中心的这个n边圈的每一条边同一时候也是某一个五角形的一条边,一共同拥有n个不同的五角形.这些五角形仅仅在五角形圈的中心的圈上有公共的顶点.如图0所看到的是一个4-五角形圈. 如今给定一个n五角形圈.你的任务就是求出n五角形圈的不同生成树的数目.还记得什么是图的生成树吗?一个图的生成树是保留原图的全部顶点以及顶点的数目减去一这么多条边,从而生成的一棵树. 注意:在给定的n五角形圈中全部顶点均视为