hdu2643 ( 第二类斯特灵数 )

题目要求算出大小关系的所有情况,我们把相等的放在一起,他们之间没有大小关系,形成分组,这个就是由第二类斯特灵数算出来的,在对分好的组进行全排列。

 1 #include<stdio.h>
 2 typedef long long i64;
 3 int main()
 4 {
 5     int T,n;
 6     i64 s[150][150],f[150];
 7     scanf("%d",&T);
 8     f[0]=1;
 9     for(int i=1;i<=100;i++)
10     {
11         s[i][i]=1;s[i][1]=1;f[i]=f[i-1]*i%20090126;
12     }
13     for(int i=2;i<=100;i++)
14     for(int j=2;j<=i;j++)
15     s[i][j]=(s[i-1][j-1]+j*s[i-1][j])%20090126;
16     while(T--)
17     {
18         i64 sum=0;
19         scanf("%d",&n);
20         for(int i=1;i<=n;i++)
21         sum+=f[i]*s[n][i]%20090126;
22         printf("%d\n",sum%20090126);
23     }
24     return 0;
25 }

 

posted on 2013-07-19 18:25  Ac_国士无双  阅读(234)  评论(0编辑  收藏  举报