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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

hrbust 哈理工oj 网线【MST+Prim】

發布時間:2023/12/10 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hrbust 哈理工oj 网线【MST+Prim】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

網線
Time Limit: 5000 MSMemory Limit: 32768 K
Total Submit: 68(17 users)Total Accepted: 17(15 users)Rating:?Special Judge:?No
Description

? ?試設計一個網絡連接某個區域中的一些地點。給定這些地點所在的位置,網線的長度就是兩個地點的線段距離,假定,給定的網線可以直接或間接的連接該地區中的所有點,試為這個地區設計一個網絡系統,使得該地區所有地點都可以直接或間接的連接,并且使用網線長度最短。

Input

輸入一個數字n(n<1000),給出這n個點的位置(x,y),即坐標(0≤x<1000,0≤y<1000)。

Output
輸出網線的最短距離,保留小數點后四位。
Sample Input

1

1 1

2

0 0

1 1

3

0 0

0 1

1 1

Sample Output

0.0000

1.4142

2.0000

Author
彭文文@hrbust

N的數據范圍比較大,克魯斯卡算法會超時,即使路徑壓縮了,即使使用快排了,還是會超時,所以被逼無奈,只能用prim來做。

在計算過程中呢,我們需要考慮一個精度問題,我們如果在入圖的時候就使用double或者float來寫的話,很容易產生精度差,當然就會有wa的可能。

所以我們在計算過程中,入圖的時候用int,只有在生成樹的過程中加上sqrt(map【i】【j】)就行了,這個時候我們避免了精度差問題,也省略了很多不必要的*1.0之類的步驟。

AC代碼:

#include <stdio.h> #include <string.h> #include <math.h> #include <algorithm> using namespace std; #define inf 0x6ffffff struct zuobiao {int x,y; }a[1004]; int vis[1005];//用來表示這個點有沒有遍歷的到. int dis[1005]; int map[1005][1005]; int n; double sum; int diss(zuobiao a,zuobiao b) {return (a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y); } void prim() {int i,j,k,min;for(i=2;i<=n;i++)dis[i]=map[1][i];vis[1]=1;for(i=2;i<=n;i++)//經過N次遍歷一定能遍歷所有的點 也就是完成了最終目標.{min=inf;for(j=1;j<=n;j++){if(vis[j]==0 &&dis[j]<min){min=dis[j];k=j;}}if(min==inf)break;vis[k]=1;sum+=sqrt(1.0*min);//完成了一次權值加和.for(j=2;j<=n;j++){if(vis[j]==0 &&dis[j]>map[k][j])dis[j]=map[k][j];}//更新最優解.}} int main() {while(~scanf("%d",&n)){memset(vis,0,sizeof(vis));memset(dis,0,sizeof(dis));for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){map[i][j]=inf*1.0;}}for(int i=1;i<=n;i++){scanf("%d%d",&a[i].x,&a[i].y);for(int j=1;j<i;j++){map[i][j]=map[j][i]=diss(a[i],a[j]);}}sum=0;prim();printf("%.4lf\n",sum);} }








總結

以上是生活随笔為你收集整理的hrbust 哈理工oj 网线【MST+Prim】的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 丁香婷婷久久 | 国产一区,二区 | 中文字幕69 | 秋霞久久精品 | 天天综合在线视频 | av永久免费观看 | 久久伊人草| 性欧美精品男男 | 黄色网av | 国产色婷婷 | 毛片视频免费 | 久久99国产精品视频 | 日韩av综合| 美女脱了内裤喂我喝尿视频 | 欧美精品亚洲一区 | 又黄又色又爽的视频 | 国产精品成人99一区无码 | 久久aⅴ乱码一区二区三区 亚洲成人18 | 国产女合集 | 国内性爱视频 | 国产精品一色哟哟哟 | 欧美高清免费 | 久久性爱视频网站 | 性三级视频 | 色网在线视频 | 岛国av动作片 | 五月色丁香 | 亚洲剧情在线 | 久久丫精品国产亚洲av不卡 | 尤物精品在线 | 草逼视频免费看 | 一级黄色片在线播放 | 99色国产 | 日韩在线一二 | 亚洲a毛片| 三上悠亚一区二区在线观看 | av天天干 | 99热日本 | 久久综合视频网 | 毛片全黄 | 激情久久中文字幕 | 风流还珠之乱淫h文 | 一出一进一爽一粗一大视频 | 国产女人被狂躁到高潮小说 | 在线观看国产麻豆 | 亚洲欧美日韩国产成人精品影院 | 免费a视频在线观看 | 黄色片免费播放 | 91禁在线动漫 | 国产51页| 激情av网站 | 高潮流白浆在线观看 | 成人在线电影网站 | 日韩成人在线网站 | 国内精品偷拍 | 午夜在线播放视频 | av福利社| 波多野结衣一区二区三区高清av | 亚洲午夜免费 | 国产h视频 | 成人音影| 久久久久久婷 | 扒下小娇妻的内裤打屁股 | 99久久婷婷国产综合精品电影 | 中文字幕手机在线视频 | 国产美女无遮挡永久免费 | 婷婷射 | 国产二区视频在线观看 | 欧洲熟妇的性久久久久久 | 看污片网站 | 神马午夜一区二区 | 成年网站在线 | 91精产国品一二三 | 手机av观看| 久草久 | 美女啪啪动态图 | 宅男午夜影院 | 人人爽爽爽 | 日韩字幕在线 | 三区在线观看 | 亚洲精品久久久久久宅男 | 97在线免费视频观看 | 性欧美一区 | 国产肉体ⅹxxx137大胆 | 9i在线看片成人免费 | 99re在线精品视频 | 肮脏的交易在线观看 | 欧美精品第二页 | 免费观看av的网站 | 波多野结衣午夜 | 黄色网入口 | 日韩av中文字幕在线播放 | 国产成人精品一区二区色戒 | 521av在线 | 激情综合五月 | 国产精品 日韩 | 欧美激情国产精品免费 | 国产精品毛片视频 | 国产精品aⅴ |