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.pswp.cn/news/386189.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/386189.shtml
英文地址,請注明出處:http://en.pswp.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開…