POJ 1379 模拟退火

流量特征工程实战:基于Python脚本的CIC-FlowMeter批量自动化处理 本文详细介绍了如何利用Python脚本对CIC-FlowMeter工具进行批量自动化封装,实现从海量PCAP文件中高效提取流量特征并生成CSV文件。通过构建健壮的自动化流水线,解决了手动处理效率低下、易出错的问题,并分享了并行处理、错误处理等关键优化技巧,助力网络流量分析与机器学习数据预处理工作。 阅读详情
题意:给定n个点和范围,在范围内找到一个点,使得n个点到这个点的最小距离最大
模拟退火法
模拟退火的过程
1 找到这些点所在的范围,用两个点框定(代码中e1,e2两个点)
2 在这个范围内生成NUM个点(NUM自定)
3 对于每个生成的点i,在其周围生成NUM个点,一旦有点优于i,则替换。
4 缩小范围D,若D<精度,退出,否则执行 3

5 遍历所有NUM个点,找到val的最大值

#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;

const double eps=1e-6;
const double inf=1e10;
const int n_max=1005;
const int num=20;
const int RAD=10005;
double X,Y;
int n;
struct point
{
	double x,y,v;
	point(){}
	point(double tx,double ty)
	{
		x=tx;
		y=ty;
	}
}p[n_max],may[num];

double randone()
{
	return (rand()%RAD+1)/(double)(RAD);
}

point point_rand(point a,point b)
{
	double x=a.x+(b.x-a.x)*randone();
	double y=a.y+(b.y-a.y)*randone();
	return point(x,y);
}

double dist(point a,point b)
{
	return sqrt( (a.x-b.x)*(a.x-b.x) + (a.y-b.y)*(a.y-b.y) );
}

double getv(point a)
{
	int i;
	double mi=inf;
	for(i=0;i<n;i++)
	{
		mi=min(mi,dist(a,p[i]));
	}
	return mi;
}

void monisrand(double D)
{
	may[0]=point(0,0);
	may[1]=point(X,Y);
	may[2]=point(X,0);
	may[3]=point(0,Y);
	int i,j;
	for(i=4;i<num;i++)
	{
		may[i]=point_rand(may[0],may[1]);
	}
	for(i=0;i<num;i++)
	{
		may[i].v=getv(may[i]);
	}
	point temp,t1,t2;
	while(D>eps)
	{
		for(i=0;i<num;i++)
		{
			for(j=0;j<num;j++)
			{
				t1=point(max(0.0,may[i].x-D),max(0.0,may[i].y-D));
				t2=point(min(X,may[i].x+D),min(Y,may[i].y+D));
				temp=point_rand(t1,t2);
				temp.v=getv(temp);
				if(temp.v>may[i].v)
				{
					may[i]=temp;
				}
			}
		}
		D*=0.9;
	}
}

int main()
{
	int T;
	scanf("%d",&T);
	while(T--)
	{
		scanf("%lf%lf%d",&X,&Y,&n);
		int i;
		for(i=0;i<n;i++)
		{
			scanf("%lf%lf",&p[i].x,&p[i].y);
		}
		monisrand(max(X,Y));
		point ans;
		ans.v=0;
		for(i=0;i<num;i++)
		{
			if(may[i].v>ans.v)
			{
				ans=may[i];
			}
		}
		printf("The safest point is (%.1lf, %.1lf).\n",ans.x,ans.y);
	}
	return 0;
}


ACM算法模板 · 一些常用的算法模板-模板合集(打比赛专用) 萌新常用的都在这了,本萌新的模板集。 阅读详情

相关推荐

农业AI避坑指南:用YOLO11做叶片病害检测时遇到的5个典型问题

本文分享了使用YOLO11模型进行农业叶片病害检测时常见的五个典型问题及解决方案。针对田间多变光照、病害样本不均衡、标注歧义、背景干扰和边缘部署等挑战,提供了包括场景自适应数据增强、解耦训练、软标签与鲁棒损失函数、困难负样本构建以及模型轻量化部署在内的实战经验,旨在帮助开发者提升农业AI项目的落地效果。

ujm56789012的博客 206

【模拟退火】 poj1379 Run Away

Run Away 题目:http://poj.org/problem?id=1379 题意:平面上有一个矩形,在矩形内有一些陷阱。求得矩形内一个点,该点离与它最近的已知陷阱最远。 题解:我是用模拟退火解的,这题本身不难,但是可以从中大致了解模拟退火的基本的概念。       这个是别人写的模拟退火模型,挺准确的:       模拟退火算法的模型 ① 初始化:初始温度T(充分大)

Ted's 游乐园 1907

嵌入式C开发必备:用Cursor规则搞定代码风格检查(附Pikachu项目实战)

本文以Pikachu开源项目为例,详细介绍了如何利用Cursor的AI代理规则系统,为嵌入式C开发项目配置一套完整的代码风格检查与规范执行方案。通过实战演示,指导开发者创建项目级规则,实现命名、格式、硬件抽象层及驱动开发的自动化规范,从而提升代码一致性、可维护性和团队协作效率。

weixin_29181861的博客 602

【POJ1379】Run Away 模拟退火

题意: 给若干个点,现在求一个点,使它到离它最近的点尽量远。 题解: 我写的是模拟退火先玩一会,然后小幅度爬爬山。 种子的采用是20134858 是生日^人的名字首字母hash。 诶可算A了,看来我脸还不是太黑。 代码: #include #include #include #include #include #define N 10100

辗转山河弋流歌 1531

UI-TARS本地部署

UI-TARS是一个用于本地部署的交互控制模型,支持桌面应用的自动化操作。部署步骤包括:首先,从官方GitHub仓库下载项目源码和模型checkpoint;其次,使用vLLM框架进行本地模型部署,启动API服务;最后,通过客户端调用API实现功能。部署过程中可能遇到pynvml模块或模型配置问题,提供了相应的解决方案。此外,还支持通过UI-TARS-Desktop客户端进行本地桌面应用的交互控制。整体流程旨在帮助用户快速实现UI-TARS的本地部署与应用。

DYF的博客 2533

【WireShark】WireShark windows平台编译 问题解决

最近工作中需要基于wireshark做二次开发,在windows平台构建过程中 遇到了找不到Glib库的问题,具体报错如下: Working in D:\WorkSpace\WIRESHARK\wiresharksource\wireshark-win64-libs Tag 2021-08-14 not found. Refreshing. Downloading https://anonsvn.wireshark.org/wireshark-win64-libs/tags/2021-08-14/pac

qq_35456540的博客 1546

poj1379——模拟退火

Poj 1379题意:给定n个点,你需要在给定矩形范围内找到一个点,使得它到这n个点的距离的最小值最大。一开始是用的顾研的方法,但总是AC不了,听盾哥说他那个有问题。正确的算法流程应该是:初始化:初始温度de(充分大),初始p个并行解状态S(算法迭代的起点), 失败次数上限L,接受参数x,衰变系数kkWhile deFor 每个状态S  随机调解方向  While 失败次数   调整得到S’    If C[S’]     成功,m:=0; S:=S’{这样下一次是继续这个方向调整,而且温度不衰变} 

fly-fly 1846

数字 IC 笔试面试必考点(2)FPGA 开发流程

FPGA 的详细开发流程就是利用 EDA 开发工具对 FPGA 芯片进行开发的过程,所以 FPGA 芯片开发流程讲的并不是芯片的制造流程,区分于 IC 设计制造流程哟(芯片制造流程多麻烦,要好几十亿的费用呢,而且国内也貌似没有哪家像样的 Foundry 厂,除了台湾的 TSMC 在世界有立足之地,Fabless 的 IC 设计公司倒是挺强的如 Hisilicon,这也是它为什么会被 USA 针对的原因)。

新芯设计的博客 2013

Poj1379(区域内距最近点最远的位置)模拟退火算法实现

<br />题目链接:http://poj.org/problem?id=1379<br /> <br /> <br />题意:给出指定的区域,及平面内的点集,求出一个该区域内到点集中所有点的最短距离最大的一个位置,点.<br /> <br />解题:三角剖分问题,可是对于没接触过三角剖分的我,当看到792行的网上找的代码时,当时那个感觉啊```,还好从Disscuss 上看到了可以用随          机化算法模拟退火来解决,下载了个PPT,想通了其中的环节~然后,决定今天把它敲出来,AC之,可敲出来之

dooder_daodao的专栏 2299

第1章:认识OpenClaw

OpenClaw是一个开源的 AI 智能体 Gateway 网关项目名称演变:OpenClaw 原名 Clawdbot,因 Anthropic 商标顾虑在 2026年1月27日更名为 Moltbot(过渡名),最终在1月30日确定为 OpenClaw。三个名字本质是同一个项目,功能完全一致。🏠在你的电脑上运行:完全本地部署,数据隐私有保障📁访问本地文件:可以搜索、读取、编辑你电脑上的文件🔌扩展能力:通过Skills(技能)系统无限扩展功能💬多平台使用。

Maynor的博客 2836

滑块逆向及流程分析

本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!

pyzzd的博客 8009

poj1379 模拟退火

【题意】 地图中有N个陷阱,给出他们的坐标,求一个点,使得这个点到所有陷阱的最小距离最大。 【题解】 乍一看是二分,但没有好方法。 看到题目要求的精度为0.1,则自然想到了模拟退火。 模拟退火的流程大致如下 1、随即生成若干解 2、定下步长d,和降温速度 3、开始模拟退火过程 【代码】 #include #include #include #include #inclu

AChunter的专栏 3375

使用GitLab限制开发者使用CI/CD的权限,三种方案

使用三种方案来限制开发人员的CI/CD权限。

知无涯 5099

[poj 1379]Run Away[模拟退火]

题意: 找出矩形中与所有点距离最远的点. 思路: 仍然是模拟退火, 需要更改的就是估价函数, 精度D&边界问题(求最小值的话不需要额外限制边界,因为边界外的肯定没有边界内的距离短嘛,但是求最长距离的话就有可能选择边界外的点了), 判断条件. /* ...that has the maximal distance from all the holes中,和所有点的距离定义为所有点距中最小的

以中有足乐者... 1114

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

poj1379Run Away【模拟退火】

Language: Default Run Away Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 7677   Accepted: 2335 Description One of the traps we will encounter in the Py

走一步再走一步 967

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

POJ 1379 Run Away(模拟退火)

题目链接:http://poj.org/problem?id=1379 这道题目应该算是真正意义上的模拟退火了,每一步基本上都是随机的 防止一个不准确,来30个,防止一个方向不行,随机来30个方向,取结果 最好的一个方向! #include #include #include #include #include #include #include #define maxn

sunrain的专栏 1450

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

poj 1379 Run Away 模拟退火

Run Away Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 7520   Accepted: 2280 Description One of the traps we will encounter in the Pyramid is located in

呼,是出一口气;吸,是争一口气! 657

POJ 1379模拟退火

模拟退火基础题 题目:找出一点,距离所有所有点的最短距离最大 代码: #include #include #include #include #include #include #define pi acos(-1.0) using namespace std; const int M = 1000+10; const int N = 30+5; co

alpc_wt的专栏 736

Poj1379+poj 2539(模拟退火

题目:在矩形中有若干个点,求一个点使得所有点到该点的最小距离最大。 思路:这个是2008年顾研论文上的例题,可以比较简单地用模拟退火算法求解。所谓模拟退火就是先随机出若干个点,然后以某一特定步长尝试周围的解,而后逐渐缩小步长,知道步长小于特定值,跳出。这个算法虽然简单易行,但是其正确性并不是非常有保障,(不合理的随机方法可能会降低到达正确解的概率),而且几个主要参数的选取也主要看经验,...

aduqw1129的博客 180

poj 1379 模拟退火

/* 题意:给定n个点和范围,在范围内找到一个点,使得n个点到这个点的最小距离最大 模拟退火法 模拟退火的过程 1 找到这些点所在的范围,用两个点框定(代码中e1,e2两个点) 2 在这个范围内生成NUM个点(NUM自定) 3 对于每个生成的点i,在其周围生成NUM个点,一旦有

Join Hands 1990

【POJ 1379 Run Away模拟退火】

/*模拟退火*/ #include #include #include #include using namespace std; int M,X,Y; #define Ran 30 #define Run 30 int max(int x,int y) { return x>y?x:y; } struct node { double x,y,d; }stu[1005],p[30]; dou

csf的专栏 923

poj 2420 & poj1379 模拟退火

具体模拟退火的原理可参考  http://www.cnblogs.com/heaad/archive/2010/12/20/1911614.html 模拟退火可用于一些  精度  要求不是很高的题目。 比如取答案的0.1,或者没有小数点 poj2420: /* 题意:给定n个点和范围(0,0)--(x,y),在范围内找到一个点,使得n个点到这个点的最小距离最大 模拟退火法 模拟退火的过程

wishcxz_acm 564

POJ 1379 Run Away 【基础模拟退火】

题意:找出一点,距离所有所有点的最短距离最大 二维平面内模拟退火即可,同样这题用最小圆覆盖也是可以的。 Source Code: //#pragma comment(linker, "/STACK:16777216") //for c++ Compiler #include <stdio.h> #include <iostream> #include ...

weixin_30526593的博客 143

POJ 1379 模拟退火算法

求规定平面上一点到已知点的最小距离最大的点。 模拟退火的流程是,随机构造几组解作为初始解空间,每次对当前解空间进行随机扩展,若发现更优解则替换。 进行的次数由参数人为控制,而随机扩展的幅度也是随着次数逐渐减小的。 #include #include #include #include #include #include #include #include #include #include

1021
上一篇: HDU 3932 最小覆盖圆
下一篇: POJ 3277 离散化线段树
MakingMaker
博客等级 码龄15年 6粉丝 108原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值