BZOJ4559: [JLoi2016]成绩比较 计数DP+排列组合+拉格朗日插值
Posted ONION_CYC
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BZOJ4559: [JLoi2016]成绩比较 计数DP+排列组合+拉格朗日插值相关的知识,希望对你有一定的参考价值。
【题意】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,那么有
以上是关于BZOJ4559: [JLoi2016]成绩比较 计数DP+排列组合+拉格朗日插值的主要内容,如果未能解决你的问题,请参考以下文章
bzoj 4559 [JLoi2016]成绩比较 —— DP+拉格朗日插值
BZOJ4559[JLoi2016]成绩比较 动态规划+容斥+组合数学
bzoj千题计划270:bzoj4559: [JLoi2016]成绩比较