kuangbin专题最短路 D - Silver Cow Party
#include<iostream>
#include<cstring>
#include<algorithm>
#include<iomanip>
#include<cmath>
#include<cstdio>
using namespace std;
#define MAXN 1004
#define INF 0x3f3f3f3f
/*
18 08
18 23
超时
18 24
18 33
超时
18 41 AC
有向图,所有结点中到终点来回距离的最大值
对每个节点求最短路得到to[MAXN],对终点求最短路的back[MAXN]
n3!超时!
只需将有向图反转一次(有向路径反向),对终点求两次Dijk即可
max(to+back)
*/
bool been[MAXN];
int lowcost[MAXN],g[MAXN][MAXN],m,n,x,ans=-;
int to[MAXN],back[MAXN];
void Read()
{
int x,y,d;
for(int i=;i<m;i++)
{
scanf("%d%d%d",&x,&y,&d);
g[x][y] = d;
}
}
void Init()
{
memset(lowcost,INF,sizeof(lowcost));
memset(been,false,sizeof(been));
}
void Dijkstra(int beg,int tmp[])
{
Init();
lowcost[beg] = ;
for(int j=;j<n;j++)
{
int Min = INF,k = -;
for(int i=;i<=n;i++)
{
if(!been[i]&&lowcost[i]<Min)
{
Min = lowcost[i];
k = i;
}
}
if(k==-) break;
been[k] = true;
for(int i=;i<=n;i++)
{
if(!been[i]&&lowcost[i]>lowcost[k]+g[k][i])
{
lowcost[i] = lowcost[k]+g[k][i];
}
}
}
for(int i=;i<=n;i++)
{
if(i==beg) continue;
tmp[i] = lowcost[i];
}
}
int main()
{
scanf("%d%d%d",&n,&m,&x);
memset(g,INF,sizeof(g));
Read();
Dijkstra(x,back);
for(int i=;i<=n;i++)
{
for(int j=i+;j<=n;j++)
{
int t = g[i][j];
g[i][j] = g[j][i];
g[j][i] = t;
}
}
Dijkstra(x,to);
for(int i=;i<=n;i++)
{
ans = max(ans,back[i]+to[i]);
}
printf("%d\n",ans);
return ;
}
kuangbin专题最短路 D - Silver Cow Party的更多相关文章
- (最短路)Silver Cow Party --POJ--3268
题目链接: http://poj.org/problem?id=3268 题意: 先求出所有牛到x的最短路,再求出x到所有牛的最短路,两者相加取最大值(单向图)(可以用迪杰斯特拉,SPFA) 迪杰斯特 ...
- Silver Cow Party(最短路,好题)
Silver Cow Party Time Limit:2000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Su ...
- poj 3268 Silver Cow Party(最短路)
Silver Cow Party Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 17017 Accepted: 7767 ...
- POJ 3268——Silver Cow Party——————【最短路、Dijkstra、反向建图】
Silver Cow Party Time Limit:2000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Su ...
- POJ - 3268 Silver Cow Party SPFA+SLF优化 单源起点终点最短路
Silver Cow Party One cow from each of N farms (1 ≤ N ≤ 1000) conveniently numbered 1..N is going to ...
- POJ 3268 Silver Cow Party 最短路
原题链接:http://poj.org/problem?id=3268 Silver Cow Party Time Limit: 2000MS Memory Limit: 65536K Total ...
- POJ3268 Silver Cow Party —— 最短路
题目链接:http://poj.org/problem?id=3268 Silver Cow Party Time Limit: 2000MS Memory Limit: 65536K Total ...
- POJ 3268 Silver Cow Party 单向最短路
Silver Cow Party Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 22864 Accepted: 1044 ...
- poj3268 Silver Cow Party(最短路)
非常感谢kuangbin专题啊,这道题一开始模拟邻接表做的,反向边不好处理,邻接矩阵的话舒服多了. 题意:给n头牛和m条有向边,每头牛1~n编号,求所有牛中到x编号去的最短路+回来的最短路的最大值. ...
随机推荐
- 【杂文】虚拟键码表(供函数GetAsyncKeyState()使用)
[杂文]虚拟键码表(供函数GetAsyncKeyState()使用) 什么?你说你不知道 \(GetAsyncKeyState()\) ?\(→\)戳我\(←\) (惊奇的发现 \(0\) ~ \(9 ...
- Joseph UVA 1452 Jump
题目传送门 /* 数学:约瑟夫环问题的变形,首先定义f[i]表示剩下i个人时,最后一个选出的人,有个公式:f[i] = (f[i-1] + m) % i f[1] = 0(编号从0开始),那么类似最后 ...
- spring-redis-data的一个坑
事故原因: 运维报告redis内存直线上升,然后查询发现都是setrange操作,review代码,没法发现setrange操作 代码如下: redisTemplate.opsForValue().s ...
- sql 获取当前季度期间
select year(getdate())*10000+((month(getdate())/3)*3+1)*100 + 1 --季度第一天 select year(getdate())*10000 ...
- Mybatis的Dao向mapper传多个参数(三种解决方案)转自《super超人》
第一种方案 : DAO层的函数方法 Public User selectUser(String name,String area); 对应的Mapper.xml <select id=" ...
- P2P 网络核心技术:Gossip 协议
背景 Gossip protocol 也叫 Epidemic Protocol (流行病协议),实际上它还有很多别名,比如:“流言算法”.“疫情传播算法”等. 这个协议的作用就像其名字表示的意思一样, ...
- Markdown(github)语法
<< 访问 Wow!Ubuntu NOTE: This is Simplelified Chinese Edition Document of Markdown Syntax. If yo ...
- jQuery.treetable使用及异步加载
Usage 1 GitHub 地址 https://github.com/ludo/jquery-treetable/ 2 API 地址 http://ludo.cubicphuse.nl/jquer ...
- 话说Form标签的target属性-----无刷新表单提交
国庆前(2013)无聊,就在铁道部的12306上“逛”了下下. PS:原来之所以叫12306,是因为其客服号码是12306,好吧,我很无知…… 首先是被“逛”的页面:票价查询. 之所以去逛,是因为一直 ...
- ZOJ - 3993 - Safest Buildings (数学)
参考:https://blog.csdn.net/KuHuaiShuXia/article/details/78408194 题意: 描述了吃鸡刷圈的问题,给出楼的坐标点,和两次刷圈的半径R和r,现在 ...