日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【Codeforces Round #514 (Div. 2) D. Nature Reserve】 三分+推公式

發(fā)布時間:2023/12/20 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Codeforces Round #514 (Div. 2) D. Nature Reserve】 三分+推公式 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

題目鏈接

Codeforces Round #514 (Div. 2) D. Nature Reserve

題意

給你一些二維平面上的點(diǎn),找一個與x軸相切的半徑最小的圓包含所有點(diǎn)。

做法

首先如果兩邊都有點(diǎn)的情況一定是找不到這樣的圓的,否則一定可以找到這樣的圓首先如果兩邊都有點(diǎn)的情況一定是找不到這樣的圓的,否則一定可以找到這樣的圓點(diǎn)
我們可以發(fā)現(xiàn)圓心橫坐標(biāo)一定越貼近中間越好,所以滿足三分的性質(zhì)我們可以發(fā)現(xiàn)圓心橫坐標(biāo)一定越貼近中間越好,所以滿足三分的性質(zhì)發(fā)現(xiàn)標(biāo)滿質(zhì)
而且我們固定橫坐標(biāo)就可以算出半徑R而且我們固定橫坐標(biāo)就可以算出半徑R標(biāo)R
所以只要每次向需要半徑更小的范圍內(nèi)三分即可所以只要每次向需要半徑更小的范圍內(nèi)三分即可內(nèi)
計算半徑的方法如下計算半徑的方法如下

所以有(R?y1)2+(x?x1)2=R2所以有(R-y1)^2+(x-x1)^2=R^2(R?y1)2+(x?x1)2=R2
R=(x?x1)2+y122×y1R=\frac{\left( x-x1 \right) ^2+y_{1}^{2}}{2\times y_{_1}}R=2×y1??(x?x1)2+y12??

代碼

#include<stdio.h> #include<iostream> #include<algorithm> using namespace std; #define dbg(x) cout<<#x<<" = "<<x<<endl const int maxn = 1e5+6; const double eps = 1e-10; int n; double x[maxn],y[maxn]; double solve(double xx) {double ans=0.0;for(int i=1;i<=n;i++){double tmp=(xx-x[i])*(xx-x[i])+1.0*y[i]*y[i];tmp=tmp/(2.0*y[i]);ans=max(ans,tmp);}return ans; } double trisection_search(double left, double right) {double midl,midr;while (right-left>1e-7){midl=(left+right)/2.0;midr=(midl+right)/2.0;if(solve(midl)<=solve(midr)) right=midr;else left=midl;}return solve(left); } int main() {scanf("%d",&n);int flag=0;for(int i=1;i<=n;i++) scanf("%lf%lf",&x[i],&y[i]);int sum[2]={0,0};for(int i=1;i<=n;i++){if(y[i]<0) sum[0]++;if(y[i]>0) sum[1]++;}if(sum[0]>0&&sum[1]>0){printf("-1\n");return 0;}for(int i=1;i<=n;i++) y[i]=abs(y[i]);printf("%.10f\n",trisection_search(-1e20,1e20));return 0; }

總結(jié)

以上是生活随笔為你收集整理的【Codeforces Round #514 (Div. 2) D. Nature Reserve】 三分+推公式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。