首页 > 代码库 > 【BZOJ】【1430】小猴打架

【BZOJ】【1430】小猴打架

排列组合

  蛮逗的……

  这题题干描述的就一股浓浓的Kruskal的气息……很容易就想到是求一个n个点的完全图的生成树个数,然后由于有序,再乘一个n-1的排列数(n-1条边的全排列)即(n-1)!

  但是我一下就卡在了 完全图的生成树个数这个地方……怎么也想不出来……后来看了题解,原来这是一个奇葩的结论:【n^(n-2)】

  好吧剩下的就是水了……完全无压力……

  Cayley公式

技术分享
 1 /************************************************************** 2     Problem: 1430 3     User: Tunix 4     Language: C++ 5     Result: Accepted 6     Time:176 ms 7     Memory:804 kb 8 ****************************************************************/ 9  10 //BZOJ 143011 #include<cstdio>12 typedef long long LL;13 int main(){14     int n,p=9999991;15     LL ans=1;16     scanf("%d",&n);17     for(int i=1;i<=n-2;++i) ans=ans*n%p;18     for(int i=1;i<=n-1;++i) ans=ans*i%p;19     printf("%lld\n",ans);20 }
View Code

 

【BZOJ】【1430】小猴打架