题目大意

题意这么明显就不说了qwq

首先最值,而且也想不到啥解法,果断 \(\rm SA\)。

然后是初始位置。初始位置就是 \(((\sum_{i=1}^m x)/m,(\sum_{i=1}^m y)/m)\)。

然后多跑几遍 \(\rm SA\) 就行了qwq。本人跑了55遍,提交过100多遍,虽然说Ynoi比这个还要狠。

code:

#pragma GCC optimize("-fipa-sra")
#pragma GCC optimize("inline")
#pragma GCC optimize("-fgcse")
#pragma GCC optimize("Ofast")
#pragma GCC optimize(2)
#pragma GCC optimize(3)
#include<iostream>
#include<cstdlib>
#include<cmath>
#include<ctime>
typedef double db;
const db delta=0.99;
db x,y;
struct Node{
int x,y,r;
}a[15],w[1005];
int n,m,k,r,ans;
inline db p(const db x){
return x*x;
}
inline db DIS(db x,db y,db a,db b){
return sqrt(p(x-a)+p(y-b));
}
int calc_energy(const register db x,const register db y){
register int i,ans=0;
register db Dis=r;
for(i=1;i<=n;++i){
db dis=DIS(a[i].x,a[i].y,x,y)-a[i].r;
if(dis<0)return 0;
if(Dis>dis)Dis=dis;
}
for(i=1;i<=m;++i)if(DIS(w[i].x,w[i].y,x,y)<=Dis)++ans;
return ans;
}
void simulate_anneal(){
db ax=x,ay=y;
for(register db t=3000;t>1e-16;t*=delta){
db X=x+((rand()<<1)-RAND_MAX)*t,Y=y+((rand()<<1)-RAND_MAX)*t;
db now=calc_energy(X,Y);db Delta=ans-now;
if(Delta<0)x=ax=X,y=ay=Y,ans=now;
if(exp(-Delta/t)<rand())ax=X,ay=Y;
}
}
signed main(void){
srand(time(NULL));
std::ios::sync_with_stdio(false);
std::cin.tie(0);std::cout.tie(0);
int i;
std::cin>>n>>m>>r;
for(i=1;i<=n;++i){
std::cin>>a[i].x>>a[i].y>>a[i].r;
}
for(i=1;i<=m;++i){
std::cin>>w[i].x>>w[i].y;
x+=w[i].x;y+=w[i].y;
}
x/=m;y/=m;
for(i=1;i<=55;++i)simulate_anneal();
std::cout<<ans;
}

LGP5544题解的更多相关文章

  1. 2016 华南师大ACM校赛 SCNUCPC 非官方题解

    我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...

  2. noip2016十连测题解

    以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...

  3. BZOJ-2561-最小生成树 题解(最小割)

    2561: 最小生成树(题解) Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1628  Solved: 786 传送门:http://www.lyd ...

  4. Codeforces Round #353 (Div. 2) ABCDE 题解 python

    Problems     # Name     A Infinite Sequence standard input/output 1 s, 256 MB    x3509 B Restoring P ...

  5. 哈尔滨理工大学ACM全国邀请赛(网络同步赛)题解

    题目链接 提交连接:http://acm-software.hrbust.edu.cn/problemset.php?page=5 1470-1482 只做出来四道比较水的题目,还需要加强中等题的训练 ...

  6. 2016ACM青岛区域赛题解

    A.Relic Discovery_hdu5982 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Jav ...

  7. poj1399 hoj1037 Direct Visibility 题解 (宽搜)

    http://poj.org/problem?id=1399 http://acm.hit.edu.cn/hoj/problem/view?id=1037 题意: 在一个最多200*200的minec ...

  8. 网络流n题 题解

    学会了网络流,就经常闲的没事儿刷网络流--于是乎来一发题解. 1. COGS2093 花园的守护之神 题意:给定一个带权无向图,问至少删除多少条边才能使得s-t最短路的长度变长. 用Dijkstra或 ...

  9. CF100965C题解..

    求方程 \[ \begin{array}\\ \sum_{i=1}^n x_i & \equiv & a_1 \pmod{p} \\ \sum_{i=1}^n x_i^2 & ...

随机推荐

  1. Android 实用开源库(不定期更新)

    ZXing 极其好用的二维码开源库. GayHub:https://github.com/zxing/zxing MPAndroidChart MPAndroidChart 是 Android 一个强 ...

  2. 虚拟机与Docker

    https://www.cnblogs.com/kex1n/p/6933039.html https://blog.csdn.net/jingzhunbiancheng/article/details ...

  3. VC 窗口置顶并激活为当前窗体

    转载请注明来源:https://www.cnblogs.com/hookjc/ if (this != GetForegroundWindow())                           ...

  4. Category注意事项

    1.分类的使用注意事项 分类只能增加方法, 不能增加成员变量 @interface Person (NJ) { // 错误写法 // int _age; } - (void)eat; @end 分类中 ...

  5. C语言设计ATM存取款界面

    这个虽然很简单,但是我还是弄了一会儿,可见有多菜.练习算. 主要考察switch开关语句.do...while语句,页面的跳转我用的是goto,虽然是弊端,可是还是用了,因为太菜啊.大家有好建议的欢迎 ...

  6. 自定义滚动条样式-兼容IE

    滚动条样式设置 html部分: 1 <div id="scroll" style="width: 500px; height: 300px; border: 2px ...

  7. Linux_shell命令说明

    1.1 pwd命令 该命令的英文解释为print working directory(打印工作目录).输入pwd命令,Linux会输出当前目录. 1.2 cd命令 cd命令用来改变所在目录. cd / ...

  8. 降维处理PCA

    要理解什么是降维,书上给出了一个很好但是有点抽象的例子. 说,看电视的时候屏幕上有成百上千万的像素点,那么其实每个画面都是一个上千万维度的数据:但是我们在观看的时候大脑自动把电视里面的场景放在我们所能 ...

  9. suse 12 利用缓存创建本地源供内网服务使用

    文章目录 服务端获取 添加源 刷新源 清除缓存 安装软件 获取rpm包 客户端测试 zypper --help 前言: 其实,咱也不知道为啥写了这篇博客,咱就是想学一学suse,咱也不会,咱也只能学, ...

  10. 关于TP90 TP99 等常用于评估软件系统的处理性能的指标概念

    工作中还是蛮少直接接触到评估系统性能的,但是不妨碍有兴趣了解.认为这是常识,只是个人才疏学浅不了解其定义. TP=Top Percentile,Top百分数,是一个统计学里的术语,与平均数.中位数都是 ...