期末考试到了,n名标号1-n的同学坐成一排参加考试。考完试后,为了防止混乱,监考老师决定依次让第 n 个人的卷子传给第 n-1 个人,第 n-1 个人的卷子传给第 n-2 个人 ... 第 2 个人的卷子传给第 1 个人,这样老师就能够直接收到所有人的卷子了。但是同学们经过了多年的考试,都练就了一身抄答案的好本领。再传卷子的过程中,第 i 个人都有 ai 概率抄到第 i-1 个人或者 bi 概率抄到第 i+1 个人。特殊的,a0 与 bn 均为 0。但是每个人在抄他人的同时又不想被别人抄,被抓到了也得受罚。因此现在他们需要计算一下没有被抄到卷子的期望人数,以决定此次考试是否要大家一起作弊。入参有四个,第一个是一个整数 n,表示总人数。第二个是一个整数 m,表示被抓人数的上限。(1<=m<=n<=10^5)。第三个输入 n 个数,表示 a1-an。第四个输入 n 个数,表示 b1-bn。若此次被抄的期望人数不超过 m,输出 "Yes",否则输出“No”。(不包括引号)
根据题意,需要计算被抄的期望人数。那么首先要计算每个人被抄袭的概率。第 i个人可能被i-1 抄,也有可能被i+1抄。被 i-1抄的概率是pre=b[i-1] ,被i+1 抄的概率是next =a[i+1]。(若i-1 或者i+1 不存在,则被其抄的概率为0)在计算i被抄袭的概率时,可以先计算i 不被抄袭的概率,再用1减去不被抄袭的概率即为被抄袭的概率。被抄袭的概率为:1-(1-pre)*(1-next)。将每个同学被抄袭的概率相加,即可得到被抄袭的期望人数。 输入:3 1 [0.000,0.500,0.500] [0.500,0.500,0.000] 输出:"No"
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。