HDU多校10_1011_ Task Scheduler(证明过程)

题目链接

题目大意是:有m个工人在线,有k个工人不在线,要给n个任务分配工人,第 i i i个任务要 t i t_i ti个工人,如果选到不在线的工人就要重新选,每个工人选择的概率相同,要使得分配次数的期望尽量小,输出字典序最小的分配方案。

i i i个任务分配合法的概率服从超几何分布为: C ( m − ∑ j = 1 i − 1 t j , t i ) C ( m + k − ∑ j = 1 i − 1 t j , t i ) \frac{C(m-\sum_{j=1}^{i-1}t_j,t_i)}{C(m+k-\sum_{j=1}^{i-1}t_j,t_i)} C(m+kj=1i1tj,ti)C(mj=1i1tj,ti)
其实它的期望是服从几何分布的,也就是概率的倒数。
C ( m + k − ∑ j = 1 i − 1 t j , t i ) C ( m − ∑ j = 1 i − 1 t j , t i ) \frac{C(m+k-\sum_{j=1}^{i-1}t_j,t_i)}{C(m-\sum_{j=1}^{i-1}t_j,t_i)} C(mj=1i1tj,ti)C(m+kj=1i1tj,ti)
那么总期望就是
∑ i = 1 n C ( m + k − ∑ j = 1 i − 1 t j , t i ) C ( m − ∑ j = 1 i − 1 t j , t i ) \sum_{i=1}^n\frac{C(m+k-\sum_{j=1}^{i-1}t_j,t_i)}{C(m-\sum_{j=1}^{i-1}t_j,t_i)} i=1nC(mj=1i1tj,ti)C(m+kj=1i1tj,ti)
我们先单独看某一项。先把组合数化成阶乘的形式。为了好写一点,我把 ∑ j = 1 i − 1 t i \sum_{j=1}^{i-1}t_i j=1i1ti记为 s i s_i si

C ( m + k − s i − 1 , t i ) C ( m − s i − 1 , t i ) = ( m + k − s i − 1 ) ! ( m + k − s i − 1 − t i ) ! ∗ t i ! ( m − s i − 1 ) ! ( m − s i − 1 − t i ) ! ∗ t i ! = ( m + k − s i − 1 ) ! ( m + k − s i ) ! ∗ t i ! ∗ ( m − s i ) ! ∗ t i ! ( m − s i − 1 ) ! = ( m + k − s i − 1 ) ∗ . . . ∗ ( m + k − s i + 1 ) ( m − s i − 1 ) ∗ . . . ∗ ( m − s i + 1 ) \frac{C(m+k-s_{i-1},t_i)}{C(m-s_{i-1},t_i)}\newline= \frac{\frac{(m+k-s_{i-1})!}{(m+k-s_{i-1}-t_i)!*t_i!}}{\frac{(m-s_{i-1})!}{(m-s_{i-1}-t_i)!*t_i!}}\newline=\frac{(m+k-s_{i-1})!}{(m+k-s_{i})!*t_i!}*{\frac{(m-s_{i})!*t_i!}{(m-s_{i-1})!}}\newline=\frac{(m+k-s_{i-1})*...*(m+k-s_{i}+1)}{(m-s_{i-1})*...*(m-s_i+1)} C(msi1,ti)C(m+ksi1,ti)=(msi1ti)!ti!(msi1)!(m+ksi1ti)!ti!(m+ksi1)!=(m+ksi)!ti!(m+ksi1)!(msi1)!(msi)!ti!=(msi1)...(msi+1)(m+ksi1)...(m+ksi+1)

化到这一步就可以看出来了。相当于在 ( m + k ) ! m ! \frac{(m+k)!}{m!} m!(m+k)!中每次选连续的一段,我们设第i个任务选取的第一个数是 m + k − i m − i \frac{m+k-i}{m-i} mim+ki,也就是说它的期望是 m + k − i m − i ∗ . . . ∗ m + k − i − t i + 1 m − i − t i + 1 \frac{m+k-i}{m-i}*...*\frac{m+k-i-t_i+1}{m-i-t_i+1} mim+ki...miti+1m+kiti+1。然后我们发现 m + k − i m − i = 1 + k m − i \frac{m+k-i}{m-i}=1+\frac{k}{m-i} mim+ki=1+mik 也就是说它是递增的,所以为了让人数多的任务期望小,我们就得先给它安排任务(口胡证明 证明留作练习 。当k为0的时侯期望是相同的,我们直接输出1~n即可。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值