POJ - 2069 Super Star

POJ-2069-Super Star(最小球覆盖/模拟退火) Super Star During a voyage of the starship Hakodate-maru (see Problem 1406), researchers found strange synchronized movements of stars. Having heard these observations, Dr. Extreme proposed a theory of “super stars”. Do not take this term as a description 阅读详情

题目:给定空间的n个点,求最小外接球,输出半径

思路:不知道为什么不管移动后是否最优都要移动,我按照模板上面那样弄就是过不了,一直WA

代码:

#pragma comment(linker, "/STACK:1024000000,1024000000")
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<string>
#include<vector>
#include<map>
#include<set>
#include<queue>
#include<stack>
#include<list>
#include<numeric>
using namespace std;
#define LL long long
#define ULL unsigned long long
#define INF 0x3f3f3f3f
#define mm(a,b) memset(a,b,sizeof(a))
#define PP puts("*********************");
template<class T> T f_abs(T a){ return a > 0 ? a : -a; }
template<class T> T gcd(T a, T b){ return b ? gcd(b, a%b) : a; }
template<class T> T lcm(T a,T b){return a/gcd(a,b)*b;}
// 0x3f3f3f3f3f3f3f3f
// 0x3f3f3f3f

#define T_min 1e-8//搜索停止阈值
#define delta 0.98//温度下降速度
const int maxn=105;
struct Node{
    double x,y,z;
    Node(double _x=0.0,double _y=0.0,double _z=0.0):x(_x),y(_y),z(_z){}
}p[maxn];
int n;
double Dis(Node a,Node b){
    return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y)+(a.z-b.z)*(a.z-b.z));
}
double get_maxr(Node pos){
    double res=0;
    for(int i=0;i<n;i++){
        res=max(res,Dis(pos,p[i]));
    }
    return res;
}
double Search(){
    double x=p[0].x,y=p[0].y,z=p[0].z;//随机初始化一个点开始搜索
    double T=100000;//初始化温度
    double ans=get_maxr(Node(x,y,z));//初始化答案
    while(T>T_min){
        double dx,dy,dz,mxdis=0;
        for(int i=0;i<n;i++){
            double dis=Dis(Node(x,y,z),p[i]);
            if(dis>mxdis){
                mxdis=dis;
                dx=(p[i].x-x)/dis;
                dy=(p[i].y-y)/dis;
                dz=(p[i].z-z)/dis;
            }
        }
        double cur=get_maxr(Node(x+T*dx,y+T*dy,z+T*dz));
        if(cur<=ans){
            ans=cur;
        }
            x=x+T*dx;
            y=y+T*dy;
            z=z+T*dz;
//        }
//        else if(exp((cur-ans)/T)<rand()/(RAND_MAX+1.0)){
//            ans=cur;
//            x=x+T*dx;
//            y=y+T*dy;
//            z=z+T*dz;
//        }
        T=T*delta;
    }
    return ans;
}
int main(){

    while(~scanf("%d",&n)){
        if(!n) break;
        for(int i=0;i<n;i++)
            scanf("%lf%lf%lf",&p[i].x,&p[i].y,&p[i].z);
        double ans=Search();
        printf("%.5f\n",ans);
    }
    return 0;
}


gdb对dwarf调试信息的解析和使用 gdb的对dwarf的调试信息的解析到使用的过程分析 阅读详情

相关推荐

如何利用ADS中的耦合线设计带通滤波器并转换为HFSS模型

耦合线带通滤波器是一种常用的微带滤波器形式,由多个长度为四分之一波长的耦合线节组成,在所需频点形成谐振,构成滤波器的频率响应特性。首先我们先来了解一下耦合线带通滤波器的电路结构,见下图:包括两对耦合线,中间为公共连接点,其中两对耦合线的偶奇模阻抗为(Z1e,Z1o)和(Z2e,Z2o,端口输入阻抗为Z0)。2.指定一个初始奇偶模值,ADS优化出一个合适的结果,通过奇偶模值利用linecalc工具计算出微带耦合线尺寸。假设中心频率为2GHz,则对应频点的电长度为。5.运行结果,两个软件仿真结果基本一致。

auqihc的博客 2227

[省选前题目整理][POJ 2069]Super Star(爬山搜索)

题目链接http://poj.org/problem?id=2069思路代码#include <iostream> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <algorithm> #include <cmath>#define EPS (1e-8)using namespace std;struct Po

某沙茶的OI代码库 662

立创电赛C题:基于STM32的三端口DC-DC变换器设计与MPPT算法实现

本文详细解析了2021年立创电赛C题——基于STM32的三端口DC-DC变换器设计。文章从题目要求出发,系统阐述了采用双DC-DC电路(分别负责MPPT追踪与稳压)的硬件架构,并重点讲解了以STM32为核心、结合PID控制与扰动观察法(MPPT算法)的软件实现方案,为备赛者提供了完整的软硬件设计思路与调试经验。

weixin_42588877的博客 222

POJ - 2069 Super Star 最小球覆盖裸题(模拟退火)

传送门 题目大意 给出三维坐标系的若干个点,在坐标系范围内找到一个点作为圆心,在给出的点中距离它最远的点的距离作为半径作出一个球,该球内包含了其余所有的给定点。 解题思路 本题就是最小球覆盖的裸题 解法一 这题的精度卡的贼死,我调了一个小时模拟退火的参数还是过不了,但是网上普遍流传的一种过法目前看不太懂为什么这么写,参考了ACdreamerACdreamerACdreamer的博客: #include <cstdio> #include <math.h> #include <

Happig的博客 314

腾讯云智后台开发实习面试全纪录(已offer)

腾讯云智后台开发实习面经

wenwenaier的博客 5903

Akamai移动端Sensor数据采集与BMP风控机制深度解析

本文深度解析了Akamai在移动端风控中的核心机制,重点阐述了Sensor数据如何通过采集陀螺仪、加速度计等硬件信息,结合设备指纹生成连续且符合物理规律的行为轨迹。详细剖析了数据从采集、加密校验到通过BMP风控三重验证(校验位、时间差、数据逻辑)的完整流程,并提供了从模拟优化到自建风控模型的实用应对思路。

quiet的专栏 281

POJ - 2069 Super Star 最小球覆盖

题意: 给定空间上一些点,求出能覆盖所有点的最小半径。 分析: 随机算法 #include&lt;cstdio&gt; #include&lt;cmath&gt; #include&lt;algorithm&gt; using namespace std; const int maxn=100; const double eps=1e-6; struct node{ do...

兜率工的博客 318

【AUTOSAR SystemServices】深入解析StbM模块:功能定义、工作原理与代码实现

STBM模块:AUTOSAR同步时基管理核心解析 STBM(同步时基管理器)是AUTOSAR标准中实现车载系统时间同步的关键模块,主要功能包括: 时间基准管理:支持全局时基、偏移时基和纯本地时基三种类型,通过StbM_SetGlobalTime和StbM_SetOffset实现主从节点同步。 校正机制:采用偏移校正和速率校正算法(PPM级精度)补偿时钟偏差,确保多ECU时间一致性。 事件处理:监控时间跳变和超时事件,通过回调机制通知上层应用。 典型应用:用于CAN/Ethernet总线同步、时间触发调度及诊

1458

poj_2069_Super Star_WA

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #pragma

cxy7tv的博客 388

2026年佰维存储数字IC笔试试卷带答案

建立时间是有效时钟沿到来前,输入数据必须稳定保持的最短时间。保持时间是有效时钟沿到来后,输入数据必须继续稳定保持的最短时间。

Open 103

VMware系列:此平台不支持虚拟化 Intel-VT-x/EPT 或 AMD-V/RVI

VMware系列:此平台不支持虚拟化 Intel-VT-x/EPT 或 AMD-V/RVI

weixin_54626591的博客 1万+

POJ, 2069 Super Star(模拟退火算法)

题意:给定几个点,要求覆盖这些点的最小球半径。 分析:可以采用模拟淬火算法,随机选取一个点作为初始解,然后不断向当前距离最远点靠近,这是一个不断调整的过程,将对应模拟淬火算法中不断向内能最低(半径最小)这一目标函数逼近,温度对应控制变量。 #include #include #include #include #include #include using n

哎哟不错哦的博客 947

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

poj2069Super Star【空间最小球覆盖模拟退火】

Language: Default Super Star Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 3775   Accepted: 996   Special Judge Description During a voyage of the st

走一步再走一步 1921

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

POJ2069:Super Star

我对模拟退火的理解:https://www.cnblogs.com/AKMer/p/9580982.html 我对爬山的理解:https://www.cnblogs.com/AKMer/p/9555215.html 题目传送门:http://poj.org/problem?id=2069 这题和求费马点没啥多大区别……就是把二维改成三维了,然后原本求距离和改成求最远距离了。 如果你不知道...

aga28832的博客 191

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

poj 2069 Super Star

Super Star Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 3396   Accepted: 902   Special Judge Description During a voyage of the starship Hakodate-maru

GAUSS_CLB 804

POJ 2069 Super Star 爬山

题目大意空间最小球覆盖思路临滚粗前做点水题qwqCODE#define _CRT_SECURE_NO_WARNINGS#include <cmath> #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #define INF 1e15 #define EPS 1e-7 #define MAX 1

(╯°口°)╯(┴—┴ 1501

poj2069 Super Star

Description During a voyage of the starship Hakodate-maru (see Problem 1406), researchers found strange synchronized movements of stars. Having heard these observations, Dr. Extreme proposed a theo

yukang_0613的博客 468

POJ - 2069 Super Star & HDU - 3007 Buried memory

模拟退火求最小球覆盖和最小圆覆盖 原本在我的认识中,模拟退火一定要有一个随机化在里面。 但是有些模拟退火,你可以清楚地意识到答案是可以向某个方向逼近的,这个时候就不用随机了。 比如像第一道题POJ 2069,这道题求的就是最小球覆盖。 对于任意的初始点,我们都能算出以当前点作为圆心的覆盖半径是多少。 显然,决定这条半径多长的,是所有点中离圆心最远的。 那么我们是不是可以越来越靠近这个最远...

dianshu0741的博客 143

POJ-2069 Super Star(最小球覆盖)

POJ-2069 Super Star 题意: 给你n个点,求覆盖所有点的最小球的半径 4<=n<=30 题解: 求最小球覆盖的步骤: (1)对于一个点:球心就是这个点,且半径无穷小。 (2)对于两个点:球心就是两点线段的中点,半径就是线段长度的一半。 (3)对于三个点:三点构成的平面必为球的大圆,球心是三角形的外心,半径就是球心到某个点的距离。 (4)对于四个点:若四点共面,则转换到3点共面;若四点不共面,四面体可以唯一确定一个外接球。 (5)对于五个及以上的点:最小球必为某四个点的外接球

qq_35975367的博客 572

poj 2069 Super Star [模拟退火]

poj 2069 Super Star [模拟退火]

ACTerminate的博客 547

【POJ】2069.Super Star

题解 求一个最小的半径的球,包括三维平面上所有的点,输出半径 随机移动球心,半径即为距离最远的点,移动的方式是向离的最远的那个点移动一点,之后模拟退火就好 代码 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include &lt...

weixin_30745641的博客 164

POJ2069 Super Star 【模拟退火】

POJ2069 模拟退火算法

AllanGong的博客 418

POJ 2069 Super Star(模拟退火)

题意:给出三维空间的一些点,要求你找到三维空间的一个点使这个点形成的球包含所有的点并且半径最小,输出这个半径 分析:每次找到距离半径到最小的点进行退火操作 #include #include #include #include #include #include #include #include #include #include //#pragma comment(linker,

每一次AC都是一种感动 860

poj 2069 Super Star (模拟退火)

Super Star Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5091   Accepted: 1266   Special Judge Description During a voyage of the starship Hakodate-maru

clover_hxy的博客 555

poj 2069 Super Star —— 模拟退火

题目:http://poj.org/problem?id=2069 仍是随机地模拟退火,然而却WA了; 看看网上的题解,都是另一种做法——向距离最远的点靠近; 于是也改成那样,竟然真的A了...感觉这个做法的随机因素好像很小?不过似乎也是一种套路。 代码如下: #include<iostream> #include<cstdio> #include<...

weixin_30305735的博客 97
上一篇: POJ - 2420 A Star not a Tree?
下一篇: HDU - 5046 Airport 二分+DLX
我不会额
博客等级 码龄11年 2粉丝 173原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值