随机算法数学证明平均时间复杂度

问题描述

给定 n 个解毒剂 a1,a2,. . . ,你必须找到解毒的方法。要测试单个解毒剂,您可以尝试使用一定数量的单位进行测试(用 n_j 个单位对解毒剂 a_i 进行测试是 O(1),n_j 是正整数)。 你知道k个单位的解毒剂可以解毒,但你必须找到使用最少单位数的解毒剂。

描述一个在平均值中使用 Θ(n+logn*logk) 的随机算法,并证明时间复杂度。

我想到的算法如下: 在每一步,我们随机选择一种治疗方法,并检查它是否是 比目前最好的(这样需要更少的单位来工作 相对于之前最好的治疗),如果更好,我们做一个 二分查找以找到所需的最小单位数 新的治疗方法,并更新最好的。

现在我需要证明我进行二分查找的治愈次数平均是log(n),换句话说,证明第i个治愈被处理的概率是1/log(n)>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...