题目

 #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. learning from the previous teams

    开发人员水平有限.分配任务的时候经常有说这个事儿做不到,或者压根不知道怎么做:验收工作频出意外,DEV写了一个模块之后,验收的时候发现模块质量不行,代码质量低是其次,无法按照给定的接口工作.设计不足. ...

  2. SCRUM报告(一)

    我们“来用”团队确定的PM是邓锐.这是我们第一篇SCRUM报告,报告的内容就是我们的Sprint会议.之前冲刺计划会议的内容已发博客,这里简单阐述一下. 一.会议过程大致如下: 1.总结目前的工作进展 ...

  3. android动态增加控件时控制样式的方法

    在学习android的动画时,发现所谓的tween动画只是改变绘制效果并不改变原控件的位置时是颇为失望的,虽然3.0之后已经有了property animation,但是由于要兼容老版本的androi ...

  4. Start my cnBlogs

    Compared to CSDN blog, althought it's my first time to use CNBlog,i felt it makes me more comfortabl ...

  5. oracle merge into 语法

    MERGE INTO upperLowerLimitData t1 USING (select name,enname,starttime,value ...   from dual) t2 ON ( ...

  6. jQuery+css+div一些值得注意的常用语句

    一.div页面布局 一个好的页面布局很重要,这会让你写代码的时候层次分明: 以2列左侧固定右侧自适应宽度为例子: 这是HTML代码: <!DOCTYPE html PUBLIC "-/ ...

  7. html添加keyword,description帮助百度收录处理方法,jsp去除空白行方法

    1.将网页的title,keyword,description写成include包含文件,例如: top.jsp <%@ page language="java" conte ...

  8. Lua print on the same line

    In Pascal, I have write and writeln. Apparently Lua's print is similar to writeln of Pascal. Do we h ...

  9. hdu 2736 Surprising Strings(类似哈希,字符串处理)

    重点在判重的方法,嘻嘻 题目 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<string.h> int ...

  10. POJ 1915

    #include<iostream> #include<stdio.h> #define MAXN 350 #include"queue" using na ...