uva10900 So you want to be a 2n-aire?

uva10900 So you want to be a 2n-aire?
数学题,开始没做出来,参考
wesley大神思路才AC的!!!!!囧。。。。。。。。。。
现在,我们来计算a[i],我们只看两种情况,你或者留下i个问题走开,得到2^(n-i),或者猜一下,你赢的期望是p*a[i-1],我们期望找到这样一个点,你走或是不走都无所谓。
我们叫他平衡概率分布点*(有点小疑惑):
      eq = 2^(n-i) / a[i-1]
如果p < eq,你走,如果p > eq,你留下来猜,p当然是在区间[t,1],所以如果eq < t你总是留下来猜,
然后把他们加起来,这里有两种情形:
  如果eq < t:
      a[i] = (1 + t) / 2 * a[i - 1];
  如果t < eq < 1:
      a[i] = (((eq - t) / (1 - t)) * 2 ^ (n - i)) + (((1 - eq) / (1 - t)) * ((1 + eq) / 2) * a[i - 1])
a[n] 就是答案;
a[i] 表示你还剩i个题时的期望

你可能感兴趣的:(uva10900 So you want to be a 2n-aire?)