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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Gym - 100851F Froggy Ford kruskal

發布時間:2023/12/13 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Gym - 100851F Froggy Ford kruskal 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目鏈接:

http://acm.hust.edu.cn/vjudge/problem/307216

Froggy Ford


Time Limit: 3000MS

題意

青蛙過河,河中有若干個石頭,現在你可以加一個石頭,使得青蛙從左岸跳到右岸的最大跳躍距離最小。

題解

把左岸和右岸作為兩個虛節點,用kruskal的思路處理出每個點到左岸需要跳躍的最大距離st[i](最優情況下)和每個點到右岸的最大距離ed[i],然后枚舉兩個點,在這兩個點的中點放一個石頭,得到ma=max(st[i],ed[j],dis(i,j)/2),如果這個值比答案更優,就更新答案,同時記錄新放的石頭的坐標。

代碼

#include<map> #include<cmath> #include<queue> #include<vector> #include<cstdio> #include<string> #include<cstring> #include<iostream> #include<algorithm> using namespace std; #define X first #define Y second #define mkp make_pair #define lson (o<<1) #define rson ((o<<1)|1) #define mid (l+(r-l)/2) #define sz() size() #define pb(v) push_back(v) #define all(o) (o).begin(),(o).end() #define clr(a,v) memset(a,v,sizeof(a)) #define bug(a) cout<<#a<<" = "<<a<<endl #define rep(i,a,b) for(int i=a;i<(b);i++)typedef long long LL; typedef vector<int> VI; typedef pair<int,int> PII; typedef vector<pair<int,int> > VPII;const int INF=0x3f3f3f3f; const LL INFL=9e18; const double eps=1e-8;const int maxn=1111;LL w,n;pair<LL,LL> pt[maxn];LL dis(LL x1,LL y1,LL x2,LL y2){return (x1-x2)*(x1-x2)+(y1-y2)*(y1-y2); }struct Edge{int u,v; LL w;Edge(int u,int v,LL w):u(u),v(v),w(w){}Edge(){}bool operator < (const Edge& tmp) const {return w<tmp.w;} }egs[maxn*maxn];int tot; int fa[maxn]; int find(int x){return fa[x]=fa[x]==x?x:find(fa[x]); }vector<int> G[maxn]; int st[maxn],ed[maxn];void init(){clr(st,-1);clr(ed,-1);tot=0;rep(i,0,maxn) fa[i]=i;rep(i,0,maxn) G[i].push_back(i); }int main() {freopen("froggy.in","r",stdin);freopen("froggy.out","w",stdout);init();scanf("%I64d%I64d",&w,&n);rep(i,1,n+1) scanf("%I64d%I64d",&pt[i].X,&pt[i].Y);rep(i,1,n+1){egs[tot++]=Edge(0,i,pt[i].X*pt[i].X);}rep(i,1,n+1){egs[tot++]=Edge(i,n+1,(w-pt[i].X)*(w-pt[i].X)); }rep(i,1,n+1){rep(j,i+1,n+1){egs[tot++]=Edge(i,j,dis(pt[i].X,pt[i].Y,pt[j].X,pt[j].Y));}}egs[tot++]=Edge(0,n+1,w*w);egs[tot++]=Edge(0,0,0);egs[tot++]=Edge(n+1,n+1,0);sort(egs,egs+tot);rep(i,0,tot){int u=egs[i].u,v=egs[i].v;if(u==0&&v==0){st[0]=i; continue;}if(u==n+1&&v==n+1){ed[n+1]=i; continue;}int pu=find(u);int pv=find(v);if(pu!=pv){if(find(0)==pu){rep(j,0,G[pv].size()){int tt=G[pv][j];st[tt]=i;}}else if(find(0)==pv){rep(j,0,G[pu].size()){int tt=G[pu][j];st[tt]=i;}}if(find(n+1)==pu){rep(j,0,G[pv].size()){int tt=G[pv][j];ed[tt]=i;}}else if(find(n+1)==pv){rep(j,0,G[pu].size()){int tt=G[pu][j];ed[tt]=i;}}fa[pv]=pu;while(G[pv].size()>0){G[pu].push_back(G[pv][G[pv].sz()-1]);G[pv].pop_back();}}}int ans_i=0,ans_j=0;double mi=9000000000000000000;rep(i,0,n+2){rep(j,0,n+2){if(i==j) continue;double tmp=max(egs[st[i]].w,egs[ed[j]].w);int ti=i,tj=j;if(ti>tj) swap(ti,tj);if(ti==0&&tj==n+1){tmp=max(tmp,w*w*1.0/4);}else if(ti==0){tmp=max(tmp,pt[tj].X*pt[tj].X*1.0/4);}else if(tj==n+1){tmp=max(tmp,(w-pt[ti].X)*(w-pt[ti].X)*1.0/4);}else{tmp=max(tmp,dis(pt[i].X,pt[i].Y,pt[j].X,pt[j].Y)*1.0/4);}if(tmp<mi){mi=tmp;ans_i=i; ans_j=j;}}}double ans_x=0,ans_y=0;if(ans_i>ans_j) swap(ans_i,ans_j);if(ans_i==0&&ans_j==n+1){ans_x=w*1.0/2;ans_y=0;}else if(ans_i==0){ans_x=pt[ans_j].X*1.0/2;ans_y=pt[ans_j].Y;}else if(ans_j==n+1){ans_x=(w+pt[ans_i].X)*1.0/2;ans_y=pt[ans_i].Y;}else{ans_x=(pt[ans_i].X+pt[ans_j].X)*1.0/2;ans_y=(pt[ans_i].Y+pt[ans_j].Y)*1.0/2; }printf("%.3lf %.3lf\n",ans_x,ans_y);return 0; }

轉載于:https://www.cnblogs.com/fenice/p/5769356.html

總結

以上是生活随笔為你收集整理的Gym - 100851F Froggy Ford kruskal的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 精品一区二区久久久久久按摩 | 亚洲综合在线播放 | 国产乱人 | 情侣黄网站免费看 | 美女视频免费在线观看 | 波多野结衣加勒比 | 日韩av三级在线观看 | 宝贝乖h调教灌尿穿环 | www,jizz,com| 高潮白浆女日韩av免费看 | 欧美一区二区三区在线观看 | 欧美十大老熟艳星 | 久久综合狠狠综合久久综合88 | 日日夜夜噜噜噜 | 丁香八月婷婷 | 亚洲一区免费观看 | 老狼影院伦理片 | 麻豆视频网页 | 天堂国产在线 | 亚洲欧美高清 | 欧美激情视频网 | 亚洲美女性生活 | 无套爆插 | 国产欧美日韩精品在线观看 | www.热久久 | 欧美影视一区二区 | 欧美一级二级片 | 欧洲女女同性videoso | 九九热这里有精品视频 | 国产一区亚洲一区 | 小明成人免费视频 | 欧美视频a| 四虎8848精品成人免费网站 | 狠狠干免费视频 | 手机看片91 | 最黄一级片 | av色在线观看 | 丰满少妇aaaaaa爰片毛片 | 天天舔日日操 | 国产a级黄色片 | 在线激情| 日韩成人av一区二区 | 久月婷婷 | 精品黑人一区二区三区 | 亚洲精品天堂在线观看 | 四虎影视免费永久观看在线 | www.日韩.com | 一二三区在线观看 | 性视频网址 | 91喷水 | 青青偷拍视频 | 天天干夜夜拍 | 欧美69久成人做爰视频 | 亚洲午夜精品在线观看 | 五十路在线| www..com色 | 人妻中文字幕一区二区三区 | 国产精品 欧美 日韩 | 热热色av | a毛片在线| 美腿丝袜一区二区三区 | 一区二区三区四区国产 | 在线天堂中文 | 久久不射电影网 | 性色国产成人久久久精品 | 播放男人添女人下边视频 | 经典杯子蛋糕日剧在线观看免费 | 国产懂色av | 一区二区不卡视频在线观看 | wwwwww色| 亚洲免费高清 | www五月天com | 久久国产精品免费观看 | 成人网av | 久操久操 | 日啪 | 动漫av在线免费观看 | 免费三片在线播放 | 亚洲一区二区三区综合 | 少妇人妻偷人精品无码视频新浪 | 午夜手机福利 | 国产呦小j女精品视频 | 美女扒开内裤让男人捅 | 色婷婷综合成人 | 中文字幕成人网 | 亚洲第一女人av | beeg日本高清xxxx18 | 一本色道久久综合亚洲精品图片 | 国产成人免费av一区二区午夜 | 亚洲婷婷网 | 色呦呦免费视频 | 久久久久久久久久久丰满 | 岛国色图 | 91精品国产高清91久久久久久 | 91日韩在线 | 日韩手机在线视频 | 男男在线观看 | 欧美 丝袜 自拍 制服 另类 | 午夜激情影院 |