题目

 #include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <algorithm>
using namespace std;
double G[][], sum;
const double pi = acos(-);
const int INF = (<<); struct node
{
double x, y; //x是经度, y是纬度。
}p[]; double angle(double lng1, double lat1, double lng2, double lat2)
{
double dlng = fabs(lng1-lng2)*pi/;
while(dlng >= pi+pi)
dlng -= (pi+pi);
if(dlng > pi)
dlng = pi+pi-dlng;
lat1 *= pi/;
lat2 *= pi/;
return acos(cos(lat1)*cos(lat2)*cos(dlng)+sin(lat1)*sin(lat2));
} double sphere_dist(double r, double lng1, double lat1, double lng2, double lat2)
{
return r*angle(lng1, lat1, lng2, lat2);
} void prime(int n)
{
int i, j, pos;
int Min, vis[];
double d[];
memset(vis, , sizeof(vis));
memset(d, , sizeof(d)); for(i = ; i <= n; i++)
d[i] = G[][i];
vis[] = ;
for(i = ; i <= n; i++)
{
Min = INF;
for(j = ; j <= n; j++)
{
if(!vis[j] && Min>d[j])
{
Min = d[j];
pos = j;
}
}
sum += Min;
vis[pos] = ;
for(j = ; j <= n; j++)
{
if(!vis[j])
{
if(d[j] > G[pos][j])
d[j] = G[pos][j];
}
}
}
}
int main()
{
int n, t, c, i, j;
double d, l, r;
cin>>t;
while(t--)
{
sum = ;
cin>>d>>l>>c;
r = d/*1.0;
n = c;
for(i = ; i <= n; i++)
{
for(j = ; j <= n; j++)
G[i][j] = INF;
G[i][i] = ;
}
for(i = ; i <= n; i++)
cin>>p[i].x>>p[i].y; for(i = ; i <= n; i++)
for(j = i+; j <= n; j++)
{
G[i][j] = sphere_dist(r, p[i].y, p[i].x, p[j].y, p[j].x);
G[j][i] = G[i][j];
}
prime(n);
if(sum - l> )
cout<<"N"<<endl;
else
cout<<"Y"<<endl;
}
return ;
}

hdu 携程全球数据中心建设 (球面距离 + 最小生成树)的更多相关文章

  1. 携程Apollo配置中心架构深度剖析

    转自:http://www.uml.org.cn/wfw/201808153.asp 一.介绍 Apollo(阿波罗)[参考附录]是携程框架部研发并开源的一款生产级的配置中心产品,它能够集中管理应用在 ...

  2. SpringBoot 整合携程Apollo配置管理中心

    携程官网对apollo的使用讲解了很多种方式的使用,但是感觉一些细节还是没讲全,特别是eureka配置中心地址的配置 这里对springboot整合apollo说一下 >SpringBoot启动 ...

  3. Spring Boot 2.0 整合携程Apollo配置中心

    原文:https://www.jianshu.com/p/23d695af7e80 Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够 ...

  4. 携程apollo配置中心服务端如何感知配置更新?

    引言 前面有写过一篇<分布式配置中心apollo是如何实时感知配置被修改>,也就是客户端client是如何知道配置被修改了,有不少读者私信我你既然说了client端是如何感知的,那服务端又 ...

  5. 携程 Apollo 配置中心传统 .NET 项目集成实践

    官方文档存在的问题 可能由于 Apollo 配置中心的客户端源码一直处于更新中,导致其相关文档有些跟不上节奏,部分文档写的不规范,很容易给做对接的新手朋友造成误导. 比如,我在参考如下两个文档使用传统 ...

  6. 携程的配置中心(阿波罗apollo)

    https://github.com/ctripcorp/apollo https://pan.baidu.com/s/1dFEGMIX#list/path=%2Fmeetup%20ppt%2F040 ...

  7. 携程实时大数据平台演进:1/3 Storm应用已迁到JStorm

    携程大数据平台负责人张翼分享携程的实时大数据平台的迭代,按照时间线介绍采用的技术以及踩过的坑.携程最初基于稳定和成熟度选择了Storm+Kafka,解决了数据共享.资源控制.监控告警.依赖管理等问题之 ...

  8. OpenStack虚拟云桌面在携程呼叫中心的应用

    编者:本文为刘科在第六期[携程技术微分享]中的分享内容.在携程技术中心(微信号ctriptech)微信后台回复[云桌面],可加入微信交流群,和关注云桌面的小伙伴一起玩耍~ 刘科,携程系统研发云平台桌面 ...

  9. 携程apollo系列-客户端集成

    本文讲解如何在 Java 程序中集成 Apollo 配置, 主要涉及到一些基础用法. 对于一些高级用法, 比如如何加密/解密配置项 (可用于数据库密码配置), 如何动态切换数据源地址,如何动态切换日志 ...

随机推荐

  1. 【狼窝乀野狼】Excel那些事儿

    在工作中我们常常遇到Excel表格,不管是数据的导入导出,还是财务统计什么都,都离不开Excel,Excel是我见过的最牛逼的一个软件(可能我的见识少)没有之一:如果你只停留在Excel处理数据,统计 ...

  2. 原生js实现仿window10系统日历效果

    舞动的灵魂版js日历,完全采用js实现,故而实现了与语言无关,jsp.asp.net php asp均可使用.无论你是开发软件,还是网站,均是不可或缺的实用代码. 该日历主要实现了获取当前时间时分秒, ...

  3. java集合类(四)About Set

    接上篇:java集合类(三)About Iterator & Vector(Stack) 之前,在比较java常见集合类的时候,就了解到一点有关Set的特性.实现类及其要求等,读者可以去温习下 ...

  4. 在ASP.NET MVC应用程序中实现Server.Transfer()类似的功能

    在ASP.NET MVC应用程序中,如果使用Server.Transfer()方法希望将请求转发到其它路径或者Http处理程序进行处理,都会引发“为xxx执行子请求时出错”的HttpException ...

  5. 巨大bug

    //数据结构关于课程设计--------图书馆管理系统的设计 #include <stdio.h> #include <stdlib.h> #include <strin ...

  6. SET FOREIGN_KEY_CHECKS=0;在Mysql中取消外键约束。

    SET FOREIGN_KEY_CHECKS=0;在Mysql中取消外键约束.

  7. C#文件对话框,一次多选文件设置

    OpenFileDialog ofd = new OpenFileDialog();ofd.Multiselect = true;if (ofd.ShowDialog() == DialogResul ...

  8. LA 4384

    扩展欧几里得 #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> ...

  9. iOS开发 .framework的Optional(弱引用)和Required(强引用)区别

    首先,参考文档:https://blog.stackmob.com/2013/03/objective-c-tip-of-the-month-optional-frameworks/ 强引用(Requ ...

  10. ReplicaManager之DelayedOperation

    DelayedOperation包括两种:DelayedFetch和DelayedProduce,它们的存在是由Kafka Protocol决定的,而Kafka Protocol是由实际需求决定的…… ...