返回

Gym - 101257G 24【二分+看题】

发布时间:2023-10-23 00:02:08 412


题目链接:​​https://vjudge.net/problem/Gym-101257G​​​
题意:有一道分值为sa的题,n个人一起写这道题,给出每个人的当前分数,和每个人写不出(一定要注意,比赛就是因为漏看了这里,WA好多次)这道题的概率,,让你输出有反超现象出现的期望
解析:每个人的当前分数是按降序排列的,所以排最后的开始往前看,数值在(a[n-1]-1到a[n-2]+sa)这个区间的都是会有反超情况发生的,所以可以先前缀和处理概率,然后再用二分查找来获取需要乘的区间位置就好

#include 
#include
#include
#include
#include
using namespace std;
const int maxn = 2*1e5+100;
int a[maxn];
double p[maxn];
double sum[maxn];
bool cmp(const int &A,const int &B)
{
return A>B;
}
int main(void)
{
int n,sa;
memset(sum,0,sizeof(sum));
scanf("%d %d",&n,&sa);
for(int i=0;i scanf("%d",&a[i]);
for(int i=0;i scanf("%lf",&p[i]);
sum[1] = p[0];
for(int i=1;i sum[i+1] = sum[i]+p[i];
double ans = 0;
for(int i=0;i {
int l=upper_bound(a,a+i+1,a[i]+sa,cmp)-a;
int r=lower_bound(a,a+i+1,a[i],cmp)-a;
ans+=(sum[r]-sum[l])*(1.0-p[i]);
}
printf("%.9f\n",ans);

return 0;
}


特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线
下一篇
hdu4461 The Power of Xiangqi【水题】 2023-10-22 20:57:36