POJ-2253-Frogger +最短路小变形
传送门:http://poj.org/problem?id=2253
参考:https://www.cnblogs.com/lienus/p/4273159.html
题意:给出一个无向图,求一条从 1 到 2 的路径,使得路径上的最大边权最小;
思路:
dij将距离更新改成取最大值即可,即dis[i]表示到达i点过程中的最大边权,更新后可能多个,再靠优先队列取出最小的最大边权。
#include <iostream>
#include <queue>
#include <cstdio>
#include <vector>
#include <cstring>
#include <cmath>
#include <algorithm>
using namespace std;
#define pb push_back
#define fi first
#define se second
typedef long long ll; const ll INF = 1e9+ ;
const int maxn = ; ll n, m, k, s;
double dis[maxn];
bool vis[maxn];
vector < pair<ll, double > > mp[maxn];
priority_queue< pair<double ,ll > > q; struct node {
int x,y;
}ac[];
double omyway(int i,int j)
{
node a = ac[i],b = ac[j];
return sqrt( 1.0*(a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y) );
}
void dij(){
memset(vis,,sizeof(vis));
while(!q.empty())
{
int v = q.top().se;
q.pop();
if(vis[v])continue;
vis[v] = ;
for(int i=;i<mp[v].size();i++)
{
int tmp = mp[v][i].fi;
double tmpc = mp[v][i].se;
if(dis[tmp] > max(dis[v],tmpc))
{
dis[tmp] = max(dis[v] , tmpc);
q.push(make_pair(-1.0*dis[tmp],tmp));
}
}
}
}
int main(){
int cnt = ;
while(~scanf("%lld", &n) && n)
{ for(int i = ; i < maxn; i ++)
mp[i].clear(), dis[i]=INF; for(int i=; i<=n; i++)
{
int x,y;
scanf("%d%d",&x,&y);
ac[i].x=x;
ac[i].y=y;
} for(int i=;i<=n;i++)
{
for(int j=i+;j<=n;j++)
{
double tmp = omyway(i,j);
mp[i].push_back(make_pair(j,tmp));
mp[j].push_back(make_pair(i,tmp));
}
} dis[] = 0.0;
q.push(make_pair(0.0,));
dij();
printf("Scenario #%d\n",cnt++);
printf("Frog Distance = %.3f\n\n",dis[]);
}
return ;
}
POJ-2253-Frogger +最短路小变形的更多相关文章
- POJ 2253 Frogger ( 最短路变形 || 最小生成树 )
题意 : 给出二维平面上 N 个点,前两个点为起点和终点,问你从起点到终点的所有路径中拥有最短两点间距是多少. 分析 : ① 考虑最小生成树中 Kruskal 算法,在建树的过程中贪心的从最小的边一个 ...
- POJ 2253 Frogger -- 最短路变形
这题的坑点在POJ输出double不能用%.lf而要用%.f...真是神坑. 题意:给出一个无向图,求节点1到2之间的最大边的边权的最小值. 算法:Dijkstra 题目每次选择权值最小的边进行延伸访 ...
- POJ 2253 Frogger 最短路 难度:0
http://poj.org/problem?id=2253 #include <iostream> #include <queue> #include <cmath&g ...
- POJ 2253 Frogger (最短路)
Frogger Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 28333 Accepted: 9208 Descript ...
- poj 2253 Frogger(最短路 floyd)
题目:http://poj.org/problem?id=2253 题意:给出两只青蛙的坐标A.B,和其他的n-2个坐标,任一两个坐标点间都是双向连通的.显然从A到B存在至少一条的通路,每一条通路的元 ...
- 最短路(Floyd_Warshall) POJ 2253 Frogger
题目传送门 /* 最短路:Floyd算法模板题 */ #include <cstdio> #include <iostream> #include <algorithm& ...
- POJ 2253 Frogger ,poj3660Cow Contest(判断绝对顺序)(最短路,floyed)
POJ 2253 Frogger题目意思就是求所有路径中最大路径中的最小值. #include<iostream> #include<cstdio> #include<s ...
- POJ 2253 Frogger(dijkstra 最短路
POJ 2253 Frogger Freddy Frog is sitting on a stone in the middle of a lake. Suddenly he notices Fion ...
- POJ. 2253 Frogger (Dijkstra )
POJ. 2253 Frogger (Dijkstra ) 题意分析 首先给出n个点的坐标,其中第一个点的坐标为青蛙1的坐标,第二个点的坐标为青蛙2的坐标.给出的n个点,两两双向互通,求出由1到2可行 ...
- poj 2253 Frogger (最长路中的最短路)
链接:poj 2253 题意:给出青蛙A,B和若干石头的坐标,现青蛙A想到青蛙B那,A可通过随意石头到达B, 问从A到B多条路径中的最长边中的最短距离 分析:这题是最短路的变形,曾经求的是路径总长的最 ...
随机推荐
- 抓取崩溃的log日志
1.下载adb工具包 也就是解锁软件,如果要解锁的话,需确认有fastboot 安装jdk.sdk 2.注意事项 请确保电脑上只连接了一台手机设备(最好只连接一条USB线),同时确保手机已开启USB调 ...
- 深入了解String和intern
引言 在 JAVA 语言中有8中基本类型和一种比较特殊的类型String.这些类型为了使他们在运行过程中速度更快,更节省内存,都提供了一种常量池的概念.常量池就类似一个JAVA系统级别提供的缓存. 8 ...
- hadoop大数据平台安全基础知识入门
概述 以 Hortonworks Data Platform (HDP) 平台为例 ,hadoop大数据平台的安全机制包括以下两个方面: 身份认证 即核实一个使用者的真实身份,一个使用者来使用大数据引 ...
- hadoop学习(四)----windows环境下安装hadoop
因为我们不能在线上环境进行调试hadoop,这样就只能在本地先调试好了再放到线上去啦.我本地是windows环境,今天先记下windows下搭建hadoop2.7的步骤. 1 本地环境 windows ...
- Mysql 分页order by一个相同字段,发现顺序错乱
两次分页查询,其中跳过了2个id select * from jdp_tb_trade where jdp_modified>='2017-04-24 20:22:01' and jdp_ ...
- nodeJs跨域设置(express,koa2,eggJs)
原生跨域 var http=require('http'); var server = http.createServer(function (req,res) { res.setHeader('Ac ...
- CMake入门-02-HelloWorld扩展
工作环境 系统:macOS Mojave 10.14.6 CMake: Version 3.15.0-rc4 Hello,World! 扩展-同一目录,多个源文件 (1) 新建 hello 目录,创建 ...
- java多线程与并发(基础篇)
一.进程与线程 进程:是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位. 线程:是进程的一个执行路径,一个进程中至少有一个线程,进程中的多个线程共享进程的 资源. 虽然系统是把资源 ...
- wordpress修改登录密码
wordpress忘记密码更改 网上搜到的方法: 1.后台邮件重置: 2,phpmyadmin登录数据库,执行mysql语句或者在wp_users表中重置密码: 3,利用php文件重置. 这是提供一种 ...
- iOS 11 变化
首先我是开发者,更关心对技术的影响,我又需要关注.学习哪些技术,猫神的文章:http://www.cocoachina.com/ios/20170607/19457.html 介绍了 ******** ...