博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ - 2031 Building a Space Station(计算几何+最小生成树)
阅读量:6252 次
发布时间:2019-06-22

本文共 1292 字,大约阅读时间需要 4 分钟。

题意

给出三维坐标系下的n个球体,求把它们联通的最小代价。

分析

最小生成树加上一点计算几何。建图,若两球体原本有接触,则边权为0;否则边权为它们球心的距离-两者半径之和。这样来跑Prim就ok了。注意精度。

 

#include
#include
#include
#include
#include
#include
#include
#include
#include
#define rep(i,e) for(int i=0;i<(e);i++)#define rep1(i,e) for(int i=1;i<=(e);i++)#define repx(i,x,e) for(int i=(x);i<=(e);i++)#define X first#define Y second#define PB push_back#define MP make_pair#define mset(var,val) memset(var,val,sizeof(var))#define scd(a) scanf("%d",&a)#define scdd(a,b) scanf("%d%d",&a,&b)#define scddd(a,b,c) scanf("%d%d%d",&a,&b,&c)#define pd(a) printf("%d\n",a)#define scl(a) scanf("%lld",&a)#define scll(a,b) scanf("%lld%lld",&a,&b)#define sclll(a,b,c) scanf("%lld%lld%lld",&a,&b,&c)#define IOS ios::sync_with_stdio(false);cin.tie(0)#define lc idx<<1#define rc idx<<1|1#define rson mid+1,r,rc#define lson l,mid,lcusing namespace std;typedef long long ll;template
void test(T a) { cout<
<
void test(T a,T2 b) { cout<
<<" "<<
void test(T a,T2 b,T3 c) { cout<
<<" "<<<" "<
<
lowc[j]){ minc=lowc[j]; p=j; } } ans+=minc; vis[p]=true; for(int j=0;j
eps){ lowc[j]=g[p][j]; } } } printf("%.3f\n",ans); } return 0;}

 

转载于:https://www.cnblogs.com/fht-litost/p/9349776.html

你可能感兴趣的文章
linux版本选择
查看>>
不写for也能选中checkbox!
查看>>
PCIE_DMA:xapp1052学习笔记
查看>>
css
查看>>
Java规则引擎及JSR-94[转]
查看>>
【c学习-13】
查看>>
给报表增加页眉
查看>>
Mysql配置参数说明
查看>>
python ----字符串基础练习题30道
查看>>
K 班1-7,alpha,beta 作业成绩汇总
查看>>
uva-10879-因数分解
查看>>
清空表且自增的id重新从0开始
查看>>
[杂记]如何在LaTeX里插入高亮代码
查看>>
「常微分方程」(阿諾爾德) Page 6 問題4 經過擴張相空間的每一點有且僅有一條積分曲線...
查看>>
同一个闭区间上有界变差函数的和与积都是有界变差函数
查看>>
java安全证书配置
查看>>
使用erlang 建立一个自动化的灌溉系统(1)准备工作
查看>>
python 调用aiohttp
查看>>
mysql 案例~ mysql故障恢复
查看>>
Spring Boot中使用MyBatis注解配置详解
查看>>