Swimming Balls

Swimming Balls
https://vjudge.net/contest/318752#problem/J
如果直接算,各种球的情况都不清楚,因为放一个球之后,水位的变化也会影响之前放入的球,不如,二分最终的水位高度,这样每个球的贡献就有了

#include <iostream>
#include <cstdio>
#include <queue>
#include <algorithm>
#include <cmath>
#include <cstring>
#define inf 2147483647
#define N 1000010
#define p(a) putchar(a)
#define For(i,a,b) for(int i=a;i<=b;++i)
//by war
//2019.8.16
using namespace std;
int T,n;
double L,x,y,mid,W,D,V,w[N],r[N],eps=1e-10,ans,pai=3.141592653589793;
void in(int &x){int y=1;char c=getchar();x=0;while(c<'0'||c>'9'){if(c=='-')y=-1;c=getchar();}while(c<='9'&&c>='0'){ x=(x<<1)+(x<<3)+c-'0';c=getchar();}x*=y;
}
void o(int x){if(x<0){p('-');x=-x;}if(x>9)o(x/10);p(x%10+'0');
}double v(double r){return 4.0000000/3.00000000*pai*r*r*r;
}double deal(double h,int i){return pai*(r[i]*r[i]*h-h*h*h/3.0);
}double lj(double x,int i){if(x-r[i]>eps)return v(r[i])/2.0+deal(min(r[i],x-r[i]),i);return v(r[i])/2.0-deal(r[i]-x,i);
}bool check(double x){double t=V;For(i,1,n){if(1.0000000-w[i]>eps)t+=min(v(r[i])*w[i],lj(x,i));elset+=lj(x,i);}if(t/W/L-x>eps)return 1;return 0;
}
signed main(){in(T);while(T--){in(n);cin>>W>>L>>D>>V;if(V<eps){puts("0.0000000000");continue;}For(i,1,n)cin>>r[i]>>w[i];x=0;y=D+eps;while(y-x>eps){mid=(x+y)/2.0;if(check(mid))x=mid;elsey=mid;}printf("%.10f\n",mid);}return 0;
}

 

转载于:https://www.cnblogs.com/war1111/p/11375679.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/386189.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何保证redis高可用?薪资翻倍

前言&#xff1a; 首先介绍一下我的同学&#xff0c;专科毕业应用电子技术专业&#xff0c;已经毕业快两年了。因为专业的原因工作一年觉得没什么发展前途就想转行&#xff0c;身为他的“好基友”&#xff0c;他觉得我这个工作挺好的&#xff0c;就咨询了我一下&#xff0c;经…

Linux中强大的输入输出重定向和管道

Linux中有三个最重要的输入输出流: Standard Input(STDIN) - 通常指键盘的输入 Standard Output(STDOUT) - 通常指显示器的输出 Standard Error(STDERR) - 通常也是重定向到显示器 默认情况下&#xff0c;分别是0表示标准输入(stdin),1表示标准输出(stdout),2表示标准错误。 参…

如何保证消息队列的高可用?透彻分析源码

前言 成为优秀的架构师是大部分初中级工程师的阶段性目标。优秀的架构师往往具备七种核心能力&#xff1a;编程能力、调试能力、编译部署能力、性能优化能力、业务架构能力、在线运维能力、项目管理能力和规划能力。 这几种能力之间的关系大概如下图。编程能力、调试能力和编…

rails 放在 apache一个目录下面的配置方法

<Location /redmine> ProxyPass http://localhost:3000 ProxyPassReverse http://localhost:3000/</Location>然后&#xff0c;配置additional_environment.rb文件中config.action_controller.relative_url_root /redmine这样基本就可以了&#xff0c;但是&…

如何化身BAT面试收割机?不吃透都对不起自己

前言 多线程相对于其他 Java 知识点来讲&#xff0c;有一定的学习门槛&#xff0c;并且了解起来比较费劲。在平时工作中如若使用不当会出现数据错乱、执行效率低&#xff08;还不如单线程去运行&#xff09;或者死锁程序挂掉等等问题&#xff0c;所以掌握了解多线程至关重要。…

Tensorflow2.0开启,从此忘记1.*版本

1.可使用GPU&#xff0c;提升上百倍的效率 2.可自动求导 3.内置神经网络API 使用cast&#xff0c;可以转换成相应的类型 转载于:https://www.cnblogs.com/ningxinjie/p/11412653.html

如何在面试中通过工厂模式来给自己加分?逆袭面经分享

拼多多三面惨败&#xff0c;java中间件、数据库与spring框架&#xff0c;答不上… 面试开火箭&#xff0c;工作拧螺丝…月初有个朋友面试拼多多&#xff0c;一面自信满满过了&#xff0c;结果三面却惨败…昨天朋友约我出来讨论问题在哪里&#xff0c;三面就答不上了&#xff0…

CNN/RNN TF1.4

###CNN###import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data这些是tf1.*版本&#xff0c;现在我已经升级到2.0版本&#xff0c;上方数据集都用不了了...黑白图片&#xff0c;因此这里使用的是2Dmnistinput_data.read_data_sets("MNIST…

Java-类与对象

Java&#xff0c;从一开始学习这门技术&#xff0c;我们就被注入了一个概念——“Java是一门面向对象编程语言。”是的&#xff0c;Java之所以简单而具有优势&#xff0c;就是因为面向对象所带来的方便。这种方式免去了C 中反复而难以理解的指针和多继承&#xff0c;“可以让程…

Hibernate学习笔记(一)

####1.1Hibernate框架的学习路线第一天&#xff1a;Hibernate的入门&#xff08;Hibernate的环境搭建、Hibernate的API、Hibernate的CRUD&#xff09;第二天&#xff1a;Hibernate的一级缓存、其他的API第三天&#xff1a;Hibernate的一对多配置、Hibernate的多对多的配置…

Java-进阶:Java-File--IO—1

#目录 一、File 类 二、IO流 三、字节输出流 四、字节输入流 五、字节流文件复制 六、字符输出流 七、字符输入流 八、字符流复制文本文件 ##一、File 类 ###1. 概述 文件 和 目录路径名 的抽象表达形式 Java中把文件或者目录&#xff08;文件夹&#xff09;都封装成 File对象…

北理工爬虫课程学习记录

Requests post方法如果提交字典会被存到form下&#xff0c;如果直接提交字符串&#xff0c;会被存到data下 put方法和post类似&#xff0c;只不过他会覆盖原始数据 ###各个方法的使用### 13个 访问参数 url修改的字段 //模拟浏览器进行访问 //模拟不同的IP地址对这个网站进行访…

Java-进阶:Java-File--IO—2

目录 一、转换流 二、字节缓冲流 三、字符缓冲流 四、序列化流与反序列化流 五、打印流 六、标准输入、输出流 七、IO流总结 一、转换流 1. OutputStreamWriter 类 &#xff08;1&#xff09; 概述 java.io.OutputStreamWriter继承 Writer类&#xff1b;就是一个字符输出流…

Hibernate学习笔记(二)

Hibernate概述&#xff1a; 什么是Hibernate:是一个持久层的ORM的框架 什么是ORM: ORM:对象关系映射,指的是将一个java中的对象与关系型数据库中的表建立一种映射关系&#xff0c;从而操作对象就可以完成数据库的相关操作为什么学习Hibernate 简化JDBC的开发 性能很好Hibernate…

Java-进阶:多线程1

目录 一、概述 二、Thread 类 三、创建线程&#xff1a;继承 Thread 类 四、创建线程&#xff1a;实现 Runnable 接口 五、线程优先级 六、线程的生命周期 七、同步代码块 一、概述 1. 进程和线程 进程&#xff1a;进程指正在运行的程序。线程&#xff1a;线程是进程中的一个…

Struts2学习笔记(一)--入门常见配置

Struts2框架的学习路线 l 第一天&#xff1a;Struts2的概述、Struts2的入门、Struts2常见的配置、Struts2的Action的编写 l 第二天&#xff1a;Struts2的数据的封装、结果页面配置 l 第三天&#xff1a;Struts2的值栈和OGNL表达式 l 第四天&#xff1a;Struts2的标签库 Struts2…

Java-进阶:多线程2

目录 一、Lock 接口 二、线程间的通信 三、线程池 四、定时器 Timer 五、多线程和异常 一、Lock 接口 1. 线程锁 锁是控制多个线程对共享资源进行访问的工具。通常&#xff0c;锁提供了对共享资源的独占访问。一次只能有一个线程获得锁&#xff0c;对共享资源的所有访问…

Java周总结1

一、计算机高级编程语言类型&#xff1a; a.编译型 b.解释型 Hello.java Java源文件 编译 Hello.class 字节码文件 解释 01101100.... &#xff08;二进制&#xff09;机器码指令 computer…

MMKV集成与原理,先收藏了

标准文档流 标准文档流&#xff0c;指的是元素排版布局过程中&#xff0c;元素会默认自动从左往右&#xff0c;从上往下的流式排列方式。前面内容发生了变化&#xff0c;后面的内容位置也会随着发生变化。 HTML就是一种标准文档流文件 HTML中的标准文档流特点通过两种方式体现…

Java周总结3

撰写第三周课程总结及实验报告&#xff08;一&#xff09; Java实验报告 班级 计科一班 学号 20188375 姓名 汤云云 完成时间 评分等级 实验一 Java开发环境与简单Java程序 一、 实验目的 &#xff08;1&#xff09; 熟悉JDK开…