BZOJ4952lydsy七月月赛 E 二分答案
Posted CQzhangyu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BZOJ4952lydsy七月月赛 E 二分答案相关的知识,希望对你有一定的参考价值。
【BZOJ4952】lydsy七月月赛 E
题解:傻题。。。二分答案即可,精度有坑。
#include <cstdio> #include <cstring> #include <iostream> using namespace std; double eps=1e-9; int n,t; int d[1010],s[1010]; bool solve(double x) { double ret=0; for(int i=1;i<=n;i++) ret+=d[i]/(s[i]+x); return ret<t; } int main() { scanf("%d%d",&n,&t); double l=-1e6,r=1e6+1e3,mid; for(int i=1;i<=n;i++) scanf("%d%d",&d[i],&s[i]),l=max(l,1.0*d[i]/t-s[i]-eps); for(int i=1;i<=40;i++) { mid=(l+r)/2; if(solve(mid)) r=mid; else l=mid; } printf("%.9lf",l); return 0; }
以上是关于BZOJ4952lydsy七月月赛 E 二分答案的主要内容,如果未能解决你的问题,请参考以下文章