hdu 2643 Rank(第二類斯特林數)

2021-08-10 14:11:19 字數 469 閱讀 2684

n個人的名次,因為有並列排名的情況,所以共n種情況,只有1個名次(所有人並列第一)到一共n個名次。對於某種情況,假設現在有x個名次,每個名次不知道多少人,就是有x個盒子,每個盒子內至少分配乙個人,即n個數的集合的劃分為x個非空集合方法的數目,正好是第二類斯特林數,在這裡還要計數不同的排列方式,即這x個集合的不同排列。

#include 

using

namespace

std;

typedef

long

long ll;

const ll mod = 20090126;

const

int maxn = 110;

ll s[maxn][maxn];

ll fac[maxn];

void init()

}int main()

return

0;}

HDU2643 Rank 第二類斯特林數

題目 題意 n個人,有多少種排名方案,允許並列。分析 問題轉化 n個球,m個不同的盒子,盒子非空 由f n m 表示 n個球,m個相同盒子,盒子非空的方案數 那麼m f n m 即為盒子不同的方案數 而f n m 即為第二類斯特林數 遞推關係 f n m m f n 1 m f n 1 m 1 f ...

HDOJ 2643 第二類斯特林數

n位選手參加比賽,每個選手有乙個排名,有可能有並列,那麼排名情況有多少種可能?n位選手參加比賽,每個選手有乙個排名,有可能有並列,那麼排名情況有多少種可能?n位選手可以放到1個集合,兩個集合。n個集合,因為每個集合對應的是名次,所以集合是區分的。那麼對於n個選手,可以選擇的方案數 ni 1s2,n,...

Rank HDU 2643 (第二類斯特林數)

hdu 2643 題意 n個人比賽,問最後的排名有多少種情況。第二類斯特林數 最後可能有i個名次 因為有並列 所以我們把n個人分成i個集合,s2 n,i 然後這i個集合再全排列。i 1,2,3,n.1 include 2 using namespace std 3 define ll long lo...