博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
通信基站(dfs回溯,思维)
阅读量:5722 次
发布时间:2019-06-18

本文共 1453 字,大约阅读时间需要 4 分钟。

Description

Input

Output

Sample Input

2 2 1 1 0 0 4 4 3 100 1 0 0 1 1 500 500

Sample Output

2.00 201.41
题解:用容斥的方法,选出所有情况,对于每种情况把选好的点和未选好的点分别放在两个集合中,对于未匹配的点搜索找区间覆盖这个点的最大距离,回溯当前距离;在结果中找最小值;
AC代码:
#include
#include
#include
#include
#include
#include
using namespace std;const int INF=0xfffffff;#define mem(x,y) memset(x,y,sizeof(x))#define SI(x) scanf("%d",&x)#define PI(x) printf("%d",x)typedef long long LL;const int MAXN=110;double lx[MAXN],ly[MAXN];double mp[MAXN][MAXN];int N,ta,tb;int a[MAXN],b[MAXN];double ans,sum;double C,R;double d[MAXN];double getl(int i,int j){ double y=ly[j]-ly[i],x=lx[j]-lx[i]; return sqrt(x*x+y*y);}void solve(int m){ if(m==0){ double res=0; for(int i=0;i

刚开始没考虑太多,之所以wa,因为我只是对每个点找到已经选的点的最小距离,由于这是雷达,已选的点可以覆盖多个未选的点,那么距离就是最大的那个距离,而我的可能会重复;

WA代码:
#include
#include
#include
#include
#include
#include
using namespace std;const int INF=0xfffffff;#define mem(x,y) memset(x,y,sizeof(x))#define SI(x) scanf("%d",&x)#define PI(x) printf("%d",x)typedef long long LL;const int MAXN=110;double lx[MAXN],ly[MAXN];double mp[MAXN][MAXN];int N;double ans;double C,R;double d[MAXN];double getl(int i,int j){ double y=ly[j]-ly[i],x=lx[j]-lx[i]; return sqrt(x*x+y*y);}void work(){ ans=INF; for(int i=1;i<(1<

 

转载地址:http://efkwx.baihongyu.com/

你可能感兴趣的文章
在Django中使用celery整理
查看>>
Gitlab-ci与RUNNER的安装与使用
查看>>
实现java导出文件弹出下载框让用户选择路径
查看>>
浅谈大数据时代下web数据可视化探析
查看>>
001,kibana的安装
查看>>
7.1 安装软件包的三种方法
查看>>
zabbix的server无法获取数据
查看>>
web前端这么缺人,为什么还是找不到工作
查看>>
入门爬虫的干货
查看>>
java多线程对CountDownLatch的使用实例
查看>>
Python Django的安装和简单运用
查看>>
rsync工具介绍, rsync常用选项,rsync通过ssh同步
查看>>
“不是不需要运维工程师,是人人皆是运维”|对话阿里云MVP蒋烁淼(上)
查看>>
分布式消息通信框架RMI原理分析
查看>>
idea 之前项目各种找不到依赖,不是第一次遇到
查看>>
正则 (grep、sed、awk)
查看>>
程序员接私活那些坑
查看>>
Spring 事务管理
查看>>
一个简单的python文件传输服务器
查看>>
为物联网装置而生Ubuntu Core 18 边缘运算进行持续部署
查看>>