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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

二分+并查集【bzoj3007】[SDOI2012]拯救小云公主

發布時間:2024/4/15 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 二分+并查集【bzoj3007】[SDOI2012]拯救小云公主 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Description

英雄又即將踏上拯救公主的道路……

這次的拯救目標是——愛和正義的小云公主。

英雄來到boss的洞穴門口,他一下子就懵了,因為面前不只是一只boss,而是上千只boss。當英雄意識到自己還是等級1的時候,他明白這就是一個不可能完成的任務。

但他不死心,他在想,能不能避開boss去拯救公主呢,嘻嘻。

Boss的洞穴可以看成一個矩形,英雄在左下角(1,1),公主在右上角(row,line)。英雄為了避開boss,當然是離boss距離越遠越好了,所以英雄決定找一條路徑使到距離boss的最短距離最遠。

Ps:英雄走的方向是任意的。

你可以幫幫他嗎?

當英雄找到了美麗漂亮的小云公主,立刻就被boss包圍了!!!英雄緩閉雙眼,舉手輕揮,白光一閃后使用了回城卷軸,回到了城堡,但只有小云公主回去了……因為英雄忘了進入回城的法陣了。

Input

第一行,輸入三個整數,n表示boss的數目,row,line表示矩形的大小;

接下來n行,每行分別兩個整數表示boss的位置坐標。

Output

輸出一個小數,表示英雄的路徑離boss的最遠距離,精確到小數點后兩位。

這里的距離指的是歐幾里德距離。

首先很容易看出是二分答案。

我們可以看成是以每個\(boss\)為圓心作一個半徑為\(r\)的圓,我們想要求的就是讓這些圓盡可能大,并且不能影響我們從\((1,1)\)\((n,m)\)。(不能覆蓋)

直接考慮邊界條件\((n,1)\)\((1,m)\)如果這兩個點沒有被覆蓋,那我必然可以到達\((n,m)\)

PS:這里的判斷條件不是同時判斷。

這樣用\(||\)判斷,可以達到我們邊界不被封鎖的情況。

并查集維護連通即可。

代碼

#include<cstdio> #include<iostream> #include<algorithm> #include<cmath> #define eps 1e-4 #define R registerusing namespace std;const int gz=3e3+8;inline void in(R int &x) {R int f=1;x=0;char s=getchar();while(!isdigit(s)){if(s=='-')f=-1;s=getchar();}while(isdigit(s)){x=x*10+s-'0';s=getchar();}x*=f; }int nn,n,m,f[gz];struct cod {int x,y; }bos[gz];int find(R int x){return f[x]==x?x:f[x]=find(f[x]);}inline double xx(R double x) {return x*x; }inline double dis(R int i,R int j) {return xx(bos[i].x-bos[j].x)+xx(bos[i].y-bos[j].y); }inline bool ok(R double r) {for(R int i=0;i<=nn+1;i++)f[i]=i;for(R int i=1;i<=nn;i++){for(R int j=1;j<i;j++){if(dis(i,j)<=xx(2*r)){R int fa=find(i),fb=find(j);if(fa!=fb)f[fa]=fb;}}if(bos[i].x-r<=1 or bos[i].y+r>=m){R int fa=find(i),fb=find(0);if(fa!=fb)f[fa]=fb;}if(bos[i].x+r>=n or bos[i].y-r<=1){R int fa=find(i),fb=find(nn+1);if(fa!=fb)f[fa]=fb;}}return find(0)!=find(nn+1); }int main() {in(nn),in(n),in(m);for(R int i=1;i<=nn;i++)in(bos[i].x),in(bos[i].y);R double ll=0,rr=min(n,m);while(fabs(ll-rr)>eps){R double mid=(ll+rr)/2;if(ok(mid))ll=mid;else rr=mid;}printf("%.2f",ll); }

轉載于:https://www.cnblogs.com/-guz/p/9975749.html

總結

以上是生活随笔為你收集整理的二分+并查集【bzoj3007】[SDOI2012]拯救小云公主的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 野花视频在线观看免费 | 一级a毛片免费观看久久精品 | 毛片网站免费在线观看 | 成人国产精品蜜柚视频 | 黄色a站 | 97久久国产| 国产三级福利 | 日韩在线观看视频免费 | 青青草成人免费视频 | 狠狠操狠狠操狠狠操 | 天堂网中文在线观看 | 亚洲精品黄色 | 亚洲三级精品 | 91啪在线观看 | 久草福利资源站 | www.天天色| 永久视频在线 | 天天摸日日 | av中文字幕免费在线观看 | 噼里啪啦国语电影 | 精品国产乱子伦 | 国产性70yerg老太 | 污污内射在线观看一区二区少妇 | 亚洲二区在线视频 | 蝌蚪网在线视频 | 蜜臀人妻四季av一区二区不卡 | 超碰在线观看91 | 中文字幕亚洲国产 | 操丝袜少妇 | 97国产在线 | 成人黄色小视频 | 成年人的毛片 | 又黄又免费的视频 | 黄色成年人视频 | 国产精品一级片 | 国产精品一级二级 | 日韩视频在线免费播放 | 国产精品视频导航 | 天天性综合 | 久久久www免费人成人片 | 欧美美女性视频 | 欧美成人免费在线观看 | 国产免费一区二区三区免费视频 | 欧美女同视频 | 蜜桃视频在线观看网站 | 国产福利在线视频 | 青青草成人在线 | 欧美午夜精品理论片a级按摩 | 美国一区二区 | 日韩mv欧美mv国产网站 | 日韩理论在线 | 欧美在线色图 | 成人私密视频 | zoo性欧美| 国产又黄又猛 | 国精产品一区一区三区mba下载 | 免费久久久久 | 日韩欧美一区二区三区在线观看 | 草草草在线 | 日韩中文字幕在线视频 | 亚洲少妇30p | www.av免费 | 91传媒在线播放 | 狠狠躁日日躁 | 国模吧无码一区二区三区 | 欧美精品观看 | 成人在线观看小视频 | 色婷婷五 | 欧美视频第一页 | 欧美日韩不卡一区二区三区 | 男女插鸡视频 | 三级黄色在线 | 欧美性理论片在线观看片免费 | 日韩黄色网页 | 久久精品无码中文字幕 | 中日韩av在线 | 91片黄在线观 | 九九综合 | 91视频.com| 中文字母av | 欧美日韩国产精品成人 | 夜夜嗨视频 | 一区二区三区黄色录像 | 肉丝肉足丝袜一区二区三区 | 激情三级在线 | 国产麻豆一精品一男同 | 国产成人精品久久二区二区91 | 成人动漫在线观看视频 | 爱情岛论坛永久入口 | 大伊人久久 | 台湾av在线 | 中文字幕黑丝 | 国产精品成人久久 | 大地资源高清播放在线观看 | 91精品国产色综合久久不卡98口 | 30一40一50老女人毛片 | 婷婷精品在线 | 外国黄色录像 | 欧美激情成人网 |