100010. 比赛排名 (Standard IO)
时间限制: 1000 ms 空间限制: 131072 KB 具体限制
1 2 3 4 5 6 7 8 9 10 11 12 | /* 这题没有具体代码,简说思路: f(m,n)={ //m个人,n种名次 m!,m==n; //当k个人有k种名次时,恰好为全排列 1,n==1; //当只有1个名次时,所有人必须全部并列 n*f(m-1,n)+n*f(m-1,n-1) //动规转移方程,下面详细说 } //第一个参数必为m-1,因为此时刚刚新加入1个人 //n*f(m-1,n)是m-1个人排成n种名次,新加入的人与他们之中的任意一个名次相同; //n*f(m-1,n-1)是m-1个人排成n-1种名次,新加入的人不与任何一种名次相同,共有n种情况 答案为sum(f(m,i)),i=[1,m] */ |