2018南京现场赛D 模拟退火
题目链接: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 模拟退火的更多相关文章
- 2018南京现场赛K 随机输出
		
题目链接:http://codeforces.com/gym/101981/attachments n和m太小,空地联通无环,总步数太大,直接随机输出5w个方向 #include<iostrea ...
 - Gym101981D - 2018ACM-ICPC南京现场赛D题 Country Meow
		
2018ACM-ICPC南京现场赛D题-Country Meow Problem D. Country Meow Input file: standard input Output file: sta ...
 - 计蒜客 2018南京网络赛 I Skr ( 回文树 )
		
题目链接 题意 : 给出一个由数字组成的字符串.然后要你找出其所有本质不同的回文子串.然后将这些回文子串转化为整数后相加.问你最后的结果是多少.答案模 1e9+7 分析 : 应该可以算是回文树挺裸的题 ...
 - HDU - 5136  2014icpc南京现场赛J     计数dp
		
题目大意:给你一个树的直径k,要求每个点的度数不超过3, 问你有多少棵树满足条件. 思路:好难啊. 主要思想就是将一棵无根二叉树树划分成有根二叉树. 我们对k的分奇偶讨论: 我们定义dp[ i ] 为 ...
 - 2018南京网络赛 - Skr 回文树
		
题意:求本质不同的回文串(大整数)的数字和 由回文树的性质可知贡献只在首次进入某个新节点时产生 那么只需由pos和len算出距离把左边右边删掉再算好base重复\(O(n)\)次即可 位移那段写的略微 ...
 - ICPC 2018 南京网络赛 J Magical Girl Haze(多层图最短路)
		
传送门:https://nanti.jisuanke.com/t/A1958 题意:n个点m条边的路,你有k次机会将某条路上的边权变为0,问你最短路径长度 题解:最短路变形,我们需要在常规的最短路上多 ...
 - 2018南京网络赛L题:Magical Girl Haze(最短路分层图)
		
题目链接:https://nanti.jisuanke.com/t/31001 解题心得: 一个BZOJ的原题,之前就写过博客了. 原题地址:https://www.lydsy.com/JudgeOn ...
 - 分层最短路-2018南京网赛L
		
大概题意: 题意:N个点,M条带权有向边,求将K条边权值变为0的情况下,从点1到点N的最短路. 拓展:可以改变K条边的权值为x 做法:把每个点拆成k个点,分别表示还能使用多少次机会,构造新图. 实际写 ...
 - 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:每个 ...
 
随机推荐
- Java8 API学习2 - java.lang.CharSequence, java.lang.String
			
CharSequence public interface CharSequence 字符序列接口, 实现此接口的非抽象类有String, StringBuffer, StringBuilder. 从 ...
 - 解决从旧格式的 csproj 迁移到新格式的 csproj 格式 AssemblyInfo 文件值重复问题
			
现在很多小伙伴开始使用了 dotnet core 项目,但是如果是从以前的 dotnet framework 的项目修改为 dotnet core 项目格式,会发现编译的时候出现了 AssemblyI ...
 - ASP.NET MVC 实现页落网资源分享网站+充值管理+后台管理(1)之数据库设计
			
本文主要讲解本项目网站所应用到的知识点,及数据库的相关设计: 一.知识点 (1)本项目主要采取ASP.NET MVC的编程模式,相信你已经了解到了MVC的具体含义是什么,这里不再赘述,有不了解的朋友, ...
 - 【2016常州一中夏令营Day6】
			
小 W 算树[问题描述]山有苞棣,隰有树檖.未见君子,忧心如醉~小 W 养了一棵有 N 个点的无根树,由于小 M 最喜欢二叉树了,为了讨小 M 欢喜,小 W想知道有多少个点作为根后,这棵树是一棵二叉树 ...
 - 查看当前android设备已安装的第三方包
			
查看当前android设备已安装的第三方包 adb shell pm list package -3 2 adb shell "getprop ro.build.version ...
 - webhook功能概述
			
1.什么是webhook? webhooks是一个api概念,是微服务api的使用范式之一,也被成为反向api,即:前端不主动发送请求,完全由后端推送. 举个常用例子,比如你的好友发了一条朋友圈,后端 ...
 - POJ-1741  树上分治--点分治(算法太奇妙了)
			
给你1e5个节点的树,(⊙﹏⊙) 你能求出又几对节点的距离小于k吗??(分治NB!) 这只是一个板子题,树上分治没有简单题呀!(一个大佬说的) #include<cstdio> #incl ...
 - react  报红错误汇总
			
react 报红错误汇总 一.Uncaught TypeError: Cannot read property 'value' of undefined 未知类型错:无法读取未定义的属性“value ...
 - HDU5521 Meeting 题解 最短路
			
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5521 题目大意: 有 \(n\) 个点 \(m\) 个集合,一个点可能处于若干个集合内,属于第 \(i ...
 - 1059 C语言竞赛 (20 分)C语言
			
C 语言竞赛是浙江大学计算机学院主持的一个欢乐的竞赛.既然竞赛主旨是为了好玩,颁奖规则也就制定得很滑稽: 0.冠军将赢得一份"神秘大奖"(比如很巨大的一本学生研究论文集--). 1 ...