码迷,mamicode.com
首页 > 其他好文 > 详细

【BZOJ】4559: [JLoi2016]成绩比较 计数DP+排列组合+拉格朗日插值

时间:2018-04-14 14:02:04      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:题解   表示   不同   题意   计数   zoj   情况   必修课   算法   

【题意】n位同学(其中一位是B神),m门必修课,每门必修课的分数是[1,Ui]。B神碾压了k位同学(所有课分数<=B神),且第x门课有rx-1位同学的分数高于B神,求满足条件的分数情况数。当有一位同学的一门必修课分数不同时视为两种情况不同。n,m<=100,Ui<=10^9。

【算法】计数DP+排列组合+拉格朗日插值

【题解】把分数作为状态不现实,只能逐门课考虑。

设$f[i][j]$表示前i门课,有j个同学被碾压的情况数,则有:

$$f[i][j]=g(i)\cdot\sum_{k=j}^{n}f[i-1][k]\cdot\binom{k}{k-j}\cdot\binom{n-k-1}{r_i-k+j}$$

其中,$g(i)$表示第i门课的合法分数情况数,因为容易发现当天分数合法情况数与多少人被碾压等信息无关,所以可以独立出来。

枚举前i-1门课被碾压的人数k,那么有

【BZOJ】4559: [JLoi2016]成绩比较 计数DP+排列组合+拉格朗日插值

标签:题解   表示   不同   题意   计数   zoj   情况   必修课   算法   

原文地址:https://www.cnblogs.com/onioncyc/p/8831107.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!