题目链接
题解
抓住个数的期望即为概率之和
使用
\(A\)的期望为
\(p[i]\) 使用
\(B\)的期望为
\(u[i]\) 都使用的期望为
\(p[i] + u[i] - u[i]p[i]\) 当然是用越多越好
但是他很烦地给了个上限,我们就需要作出选择了
有一个很明显的
\(O(n^3)\)的
\(dp\),显然过不了
但我们有一个很好的\(WQS\)二分
我们非常想去掉这个上限
那就去掉吧,但是每用一次都要付出一个代价
我们二分这个代价,当使用次数恰好为为
\(a\)和
\(b\)时就是答案
再加回付出的代价即可
非常巧妙地变成了
\(O(n\log^2n)\) 这种二分技巧非常棒
当我们求的东西有一个限制个数时,可以通过设置代价去掉上限
//Mychael#include #include #include #include #include #include #include #include #include