zoukankan      html  css  js  c++  java
  • Rank HDU

    Rank

     HDU - 2643 

    题意:n个人比赛,问最后的排名有多少种情况。

    第二类斯特林数~

    最后可能有i个名次(因为有并列),所以我们把n个人分成i个集合,s2(n,i),然后这i个集合再全排列。 i = 1,2,3,……,n.

     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 #define ll long long
     4 const int mod = 20090126;
     5 const int maxn = 105;
     6 ll s2[maxn][maxn], f[maxn];
     7 void init(){
     8     for(int i = 1; i < maxn; i++) {
     9         s2[i][1] = s2[i][i] = 1;
    10         for(int j = 2; j < i; j++) {
    11             s2[i][j] = (s2[i-1][j-1] + j*s2[i-1][j]) % mod;
    12         }
    13     }
    14     f[1] = 1;
    15     for(int i = 2; i < maxn; i++) f[i] = f[i-1] * i % mod;
    16 }
    17 int main(){
    18     int n;
    19     int t;
    20     scanf("%d", &t);
    21     init();
    22     while(t--) {
    23         scanf("%d", &n);
    24         ll ans=0;
    25         for(int i = 1; i <= n; i++) ans = (ans + f[i]*s2[n][i]%mod) % mod;
    26         printf("%lld
    ", ans);
    27     }
    28 }
    View Code
  • 相关阅读:
    关于DOM与BOM
    常用单位及颜色表
    关于Grid
    form表单
    自我介绍
    python——3种字符串反转方法
    JavaScript 正则表达式
    关于JavaScript的DOM和BOM
    CSS颜色表示的几种方式
    CSS的常用单位介绍
  • 原文地址:https://www.cnblogs.com/yijiull/p/7602249.html
Copyright © 2011-2022 走看看