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编号去的最短路+回来的最短路的最大值. ...
随机推荐
- ACM_校庆素数
校庆素数 Time Limit: 2000/1000ms (Java/Others) Problem Description: 广财建校33年了,如今迎来了她的校庆. 小财最近想在研究素数,她突发奇想 ...
- C# 传值和传引用 ( ref out in )
引用类型的变量不直接包含其数据:它包含的是对其数据的引用.当通过值传递引用类型的参数时,有可能更改引用所指向的数据,如某类成员的值(更改属性的值),但是无法更改引用本身的值:也就是说,不能使用相同的引 ...
- redis+mysql读写方案
前言:在web服务端开发的过程中,redis+mysql是最常用的存储解决方案,mysql存储着所有的业务数据,根据业务规模会采用相应的分库分表.读写分离.主备容灾.数据库集群等手段.但是由于mysq ...
- Git在工作中对项目的操作流程
Git 的准备工作 第一步:Git初始化 第一次在电脑上使用时,应该初始化操作,以后再使用Git操作,无需初始化,直接进行Git其他操作 git config --global user.name & ...
- Error parsing D:\sdkforas\android-sdk-windows\system-images\android-22\android-wear\x86\devices.xml
今天在工作过程中向Android Studio中导入一个项目,最后运行出现如下错误: Cannot reload AVD list: cvc-enumeration-valid: Value '280 ...
- JMeter在linux上分布式压测环境配置(一)
环境配置 一.在Linux服务器先安装SDK 1.先从官网下载jdk1.8.0_131.tar.gz,l(linux版本,32位,64位根据系统来判断) 2.在/usr/目录下创建java文件夹,(当 ...
- oracle 内连接 左外连接 右外连接的用法,(+)符号用法
1. 内连接很简单 select A.*, B.* from A,B where A.id = B.id select A.*, B.* from A inner join B on A.id = B ...
- cookie domain path 跨域
1.domain表示的是cookie所在的域,默认为请求的地址,如网址为www.jb51.net/test/test.aspx,那么domain默认为www.jb51.net.而跨域访问,如域A为t1 ...
- (C/C++学习)20.基于C++改进的单目标遗传算法
说明:在学习生活中,经常会遇到各种各样的最优问题,其中最常见的就是求某个多维(多个自变量)函数在各个自变量各取何值时的最大值或最小值:例如求函数 f(x) = (x-5)2+(y-6)2+(z-7)2 ...
- zabbix登录密码重置方法
注:由于账号较多,难免忘记账号,下面是找回zabbix登录密码的过程. 一.登录zabbix数据库 [root@123 ~]# mysql -uroot -p密码 二.修改zabbix密码 mysql ...