题目链接:https://codeforces.com/gym/101981/attachments

给你n个城市的三维坐标,叫你求得一个坐标使这个坐标到其他城市的最大距离最小,并输出这个距离(距离不唯一,只要在一定误差内即可)。因为城市的数量不多而且要求的距离不是一个确定值,只需在一定误差内,所以模拟退火跑就完事。

#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
const double eps=1e-;
#define inf 0x3f3f3f3f
int n;
struct node{
double x,y,z;
node(){};
node(double x,double y,double z):x(x),y(y),z(z){};
double dis(node w)
{
return sqrt((w.x-x)*(w.x-x)+(w.y-y)*(w.y-y)+(w.z-z)*(w.z-z));
}
}p[],a;
int main()
{
scanf("%d",&n);
double x,y,z;
for(int i=;i<=n;i++)
{
scanf("%lf%lf%lf",&x,&y,&z);
p[i]=node(x,y,z);
}
a=node(,,);
double T=,D=0.98;
double ans=inf,ret;
while(T>eps)
{
int pos=;
for(int i=;i<=n;i++)
{
if(a.dis(p[i])>a.dis(p[pos]))pos=i;
}
ret=a.dis(p[pos]);
ans=min(ans,ret);
a.x+=(p[pos].x-a.x)/ret*T;
a.y+=(p[pos].y-a.y)/ret*T;
a.z+=(p[pos].z-a.z)/ret*T;
T*=D;
}
printf("%.15lf\n",ans);
return ;
}

2018南京现场赛D 模拟退火的更多相关文章

  1. 2018南京现场赛K 随机输出

    题目链接:http://codeforces.com/gym/101981/attachments n和m太小,空地联通无环,总步数太大,直接随机输出5w个方向 #include<iostrea ...

  2. Gym101981D - 2018ACM-ICPC南京现场赛D题 Country Meow

    2018ACM-ICPC南京现场赛D题-Country Meow Problem D. Country Meow Input file: standard input Output file: sta ...

  3. 计蒜客 2018南京网络赛 I Skr ( 回文树 )

    题目链接 题意 : 给出一个由数字组成的字符串.然后要你找出其所有本质不同的回文子串.然后将这些回文子串转化为整数后相加.问你最后的结果是多少.答案模 1e9+7 分析 : 应该可以算是回文树挺裸的题 ...

  4. HDU - 5136 2014icpc南京现场赛J 计数dp

    题目大意:给你一个树的直径k,要求每个点的度数不超过3, 问你有多少棵树满足条件. 思路:好难啊. 主要思想就是将一棵无根二叉树树划分成有根二叉树. 我们对k的分奇偶讨论: 我们定义dp[ i ] 为 ...

  5. 2018南京网络赛 - Skr 回文树

    题意:求本质不同的回文串(大整数)的数字和 由回文树的性质可知贡献只在首次进入某个新节点时产生 那么只需由pos和len算出距离把左边右边删掉再算好base重复\(O(n)\)次即可 位移那段写的略微 ...

  6. ICPC 2018 南京网络赛 J Magical Girl Haze(多层图最短路)

    传送门:https://nanti.jisuanke.com/t/A1958 题意:n个点m条边的路,你有k次机会将某条路上的边权变为0,问你最短路径长度 题解:最短路变形,我们需要在常规的最短路上多 ...

  7. 2018南京网络赛L题:Magical Girl Haze(最短路分层图)

    题目链接:https://nanti.jisuanke.com/t/31001 解题心得: 一个BZOJ的原题,之前就写过博客了. 原题地址:https://www.lydsy.com/JudgeOn ...

  8. 分层最短路-2018南京网赛L

    大概题意: 题意:N个点,M条带权有向边,求将K条边权值变为0的情况下,从点1到点N的最短路. 拓展:可以改变K条边的权值为x 做法:把每个点拆成k个点,分别表示还能使用多少次机会,构造新图. 实际写 ...

  9. ACM-ICPC 2018 南京网络赛

    题目顺序:A C E G I J L A. An Olympian Math Problem 打表,找规律,发现答案为n-1 C. GDY 题意: m张卡片,标号1-13: n个玩家,标号1-n:每个 ...

随机推荐

  1. Aizu 0531 "Paint Color" (坐标离散化+DFS or BFS)

    传送门 题目描述: 为了宣传信息竞赛,要在长方形的三合板上喷油漆来制作招牌. 三合板上不需要涂色的部分预先贴好了护板. 被护板隔开的区域要涂上不同的颜色,比如上图就应该涂上5种颜色. 请编写一个程序计 ...

  2. springboot+jpa分页(Pageable+Page)

    Pageable+Page实现分页无需配置,也不需要加入jar包(maven依赖) Controller控制层 package com.gxuwz.late.controller; import co ...

  3. linux zookeeper开机启动

    1.在zkEnv.sh中指定当前用户jdk环境变量 export JAVA_HOME=/usr/local/src/jdk1.7.0_55/ 2.在/etc/rc.d/init.d文件夹下创建zook ...

  4. java 使用 morphia 存取枚举为值

    源码 https://github.com/zhongchengyi/zhongcy.demos/tree/master/mongo-morphia-demo 前言 morphia是java 使用or ...

  5. 线程的通信与协作:sleep、wait、notify、yield、join关系与区别

    一.sleep.join.yield.wait.notify.notifyAll 1.sleep() 使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁.也 ...

  6. IntelliJ IDEA使用说明

    1.IntelliJ IDEA简介: IDEA 全称 IntelliJ IDEA,是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手.代码自动提 ...

  7. org.apache.subversion.javahl.ClientException: Item is not readable 解决办法

    在使用eclise安装的插件subclipse查看svn的提交历史记录的时候,提示org.apache.subversion.javahl.ClientException: Item is not r ...

  8. Python 类的常用内置方法

    类的内置方法(魔法方法): 凡是在类内部定义,以__开头__结尾的方法,都是类的内置方法,类的内置方法,会在满足某种条件下自动触发. 1.1__new__ __new__:在___init__触发前, ...

  9. $Poj3208$ 启示录 数位统计$DP$

    Poj  AcWing Description Sol  这题长得就比较像数位$DP$叭. 所以先用$DP$进行预处理,再基于拼凑思想,通过"试填法"求出最终的答案. 设$F[i] ...

  10. 智能反射表面(可重构智能表面)Large Intelligent surface 最新综述整理

    闻道洛阳花正好,家家遮户春风.道人饮处百壶空.年年花下醉,看尽几番红. 此拐又从何处去,飘蓬一任西东.语声虽异笑声同.一轮清夜月,何处不相逢. ---- 临江仙·与刘拐 更多精彩内容请关注微信公众号 ...