bzoj3622已经没有什么好怕的啦(2)

题目:http://www.lydsy.com/JudgeOnline/problem.php?id=3622

题意:见(1)

题解:在所有扯淡而大胆的尝试都失败后,0我看了题解,不禁惊讶

思路:1.限制过于严格,放松限制 2.放松后容斥去重并排除不满足条件的情况 3.还是dp而已

流程:1.离散化排序,记录A序列中每一个a在B序列中的位置,减去一,也就是B序列中比a小的个数为num[i]2.放宽限制,题目要求的是恰好k场,我们改为至少k场,既然后效性很强,那f[i][j]表示前i个里面能挑出j个A>B的方案数,其余的不用管,直接忽略 3.f[i][j]=f[i-1][j]+f[i-1][j-1]*(num[i]-j+1),第一个是i被忽略,第二个是i被选入j场中,可搭配的又有j-1个被前面更小的匹配 4.可是,题目要求的是恰好k,这里是至少k,明显多了好多,所以去重容斥(准确来说不是容斥,单纯减法而已)设g[i][j]表示恰好的方案,

则g[n][j]=f[n][j]*(n-j)!-c(i,j)*g[n][i](j<i<=n)第一部分表示将剩余部分任意匹配的方案数,但有大量重复,第二部分就是将重复去掉

总结:当限制严格时不可计算,可以放宽限制使得可计算,必要时可以忽略一些东西,利用容斥计数,这道题很好,很有意思

状态:solved

你可能感兴趣的:(bzoj3622已经没有什么好怕的啦(2))