【Luogu】P2498拯救小云公主(spfa)
我水爆了- -
容易发现可以把两个圆之间连边,左上为起点右下为终点,最小生成树直到起点跟终点连起来,输出边权/2就行。
然后80.
并不理解为什么这可以转化成spfa求最短路,邻接矩阵暴力跑一下就AC了。
#include<cstdio>
#include<algorithm>
#include<cctype>
#include<cstring>
#include<cstdlib>
#include<queue>
#include<cmath>
#define maxn 3030
using namespace std;
inline long long read(){
long long num=,f=;
char ch=getchar();
while(!isdigit(ch)){
if(ch=='-') f=-;
ch=getchar();
}
while(isdigit(ch)){
num=num*+ch-'';
ch=getchar();
}
return num*f;
} struct Node{ double x,y; };
inline double calc(Node a,Node b){ return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y)); }
Node q[maxn]; struct Edge{
int from,to;
double val;
bool operator <(const Edge a)const{
return val<a.val;
}
}d[maxn*maxn];
int cnt; double dis[maxn];
bool vis[maxn]; double mp[maxn][maxn]; int main(){
int e=read(),n=read(),m=read();
int up=e+,down=e+,left=e+,right=e+;
for(int i=;i<=right;++i)
for(int j=;j<=right;++j) mp[i][j]=0x7ffffffff;
for(int i=;i<=e;++i) q[i]=(Node){read(),read()};
for(int i=;i<=e;++i){
for(register int j=i+;j<=e;++j) mp[i][j]=mp[j][i]=calc(q[i],q[j]);
mp[up][i]=(n-q[i].x)*;
mp[i][down]=(q[i].x-)*;
mp[left][i]=(q[i].y-)*;
mp[i][right]=(m-q[i].y)*;
}
queue<int>f; f.push(up); f.push(left);
for(int i=;i<=right;++i) dis[i]=0x7ffffffff;
dis[up]=dis[left]=;
while(!f.empty()){
int from=f.front();f.pop(); vis[from]=;
for(int to=;to<=right;++to){
if(max(mp[from][to],dis[from])<dis[to]){
dis[to]=max(mp[from][to],dis[from]);
if(vis[to]) continue;
vis[to]=; f.push(to);
}
}
}
printf("%.2lf\n",min(dis[down],dis[right])/2.0);
return ;
}
【Luogu】P2498拯救小云公主(spfa)的更多相关文章
- 洛谷 P2498 [SDOI2012]拯救小云公主 解题报告
P2498 [SDOI2012]拯救小云公主 题目描述 英雄又即将踏上拯救公主的道路-- 这次的拯救目标是--爱和正义的小云公主. 英雄来到\(boss\)的洞穴门口,他一下子就懵了,因为面前不只是一 ...
- 【BZOJ】【3007】拯救小云公主
思路题 我的naive的做法是二分答案+判定是否有路径可走……但是没有正确理解[走的方向任意]这句话…… 其实就是说想咋走咋走= =360°无死角乱走…… 所以其实是个平面上的问题…… 我们可以换个方 ...
- BZOJ:4219: 跑得比谁都快 3007: 拯救小云公主
4219: 跑得比谁都快 3007: 拯救小云公主 三角剖分的解释可以看这里:http://www.cnblogs.com/Enceladus/p/6706444.html 后一道是前一道的弱化版. ...
- 【BZOJ3007】拯救小云公主 二分+几何+对偶图
[BZOJ3007]拯救小云公主 Description 英雄又即将踏上拯救公主的道路…… 这次的拯救目标是——爱和正义的小云公主. 英雄来到boss的洞穴门口,他一下子就懵了 ...
- P2498 [SDOI2012]拯救小云公主
\(\color{#0066ff}{ 题目描述 }\) 英雄又即将踏上拯救公主的道路-- 这次的拯救目标是--爱和正义的小云公主. 英雄来到boss的洞穴门口,他一下子就懵了,因为面前不只是一只bos ...
- 洛谷P2498 [SDOI2012]拯救小云公主 【二分 + 并查集】
题目 英雄又即将踏上拯救公主的道路-- 这次的拯救目标是--爱和正义的小云公主. 英雄来到boss的洞穴门口,他一下子就懵了,因为面前不只是一只boss,而是上千只boss.当英雄意识到自己还是等级1 ...
- bzoj3007: 拯救小云公主
Description 英雄又即将踏上拯救公主的道路…… 这次的拯救目标是——爱和正义的小云公主. 英雄来到boss的洞穴门口,他一下子就懵了,因为面前不只是一只boss,而是 ...
- 二分+并查集【bzoj3007】[SDOI2012]拯救小云公主
Description 英雄又即将踏上拯救公主的道路-- 这次的拯救目标是--爱和正义的小云公主. 英雄来到boss的洞穴门口,他一下子就懵了,因为面前不只是一只boss,而是上千只boss.当英雄意 ...
- 【bzoj3007】拯救小云公主 二分+对偶图+并查集
题目描述 英雄又即将踏上拯救公主的道路…… 这次的拯救目标是——爱和正义的小云公主. 英雄来到boss的洞穴门口,他一下子就懵了,因为面前不只是一只boss,而是上千只boss.当英雄意识到自己还是等 ...
随机推荐
- 13、SpringBoot------整合shiro
开发工具:STS 前言: shiro,一套简单灵活的安全权限管理框架. 把所有对外暴露的服务API都看作是一种资源,那么shiro就是负责控制哪些可以获得资源,哪些不能获取. 一个比较不错的教程:ht ...
- 当Java遇见了Html--Jsp九大内置对象篇
jsp内置对象对象是web容器创建的一组对象,不使用new关键词久可以使用的内置对象. 九大内置对象包括以下: out --JspWriter request --ServletRequest rep ...
- fine ui grid控件添加行号
grid控件的列中添加如下代码<f:RowNumberField EnablePagingNumber="true" TextAlign="Center" ...
- 利用bootstrap实现图片Carousel效果
引入头文件: <link rel="stylesheet" href="bootstrap.min.css"> <link rel=" ...
- 汇编:1位16进制数到ASCII码转换
;============================ ;1位16进制数到ASCII码转换 ; { X+30H (0≤X≤9) ;Y= { ; { X+37H (0AH≤X≤0FH) DATAS ...
- 【Effective c++ 读书笔记】条款01 视 C++ 为一个语言联邦
一开始,C++只是 C 加上一些面向对象的特性.C++最初的名称 C with Classes 也反映了这个血缘关系. 但是,现在,当这个语言逐渐成熟,它变得更活跃更无拘束,更大胆冒险,开始接受不同于 ...
- 【Python 2 到 3 系列】 关于除法的余数
v2.2 以前,除("/")运算符的返回有两种可能情况,分别是整型和浮点型.操作数的不同,是影响计算结果数据类型的关键. 以 a / b 为例,a.b均为整型,则结果返回整型:a. ...
- tcl之string操作-length/index/range/replace
- Redis ----------String的操作
set key value 设置key对应的值为String类型的value mset key value 一次设置多个 key对应的值 mget key value 一 ...
- hosts 文件的位置及作用
一.位置 1.Window系统位置 C:\Windows\System32\drivers\etc 2.Linux系统位置 /etc/hosts 二.作用 综述:Hosts文件中指定了域名和IP地址的 ...