题目链接:https://vjudge.net/problem/POJ-3268

题意:点X处开办排队,其他点的牛到X点去参加派对,然后从X点回到各自的点,通路是单向的,所有牛都要走最短路,

求出所有牛走的最短路中最长的那条路。

(直接看代码吧,就是一处改一下,别的和dijkstra板子差不多)


 #include <iostream>
#include <cstring>
#include <algorithm>
#include <cstdio>
#include <string>
using namespace std; typedef long long LL;
#define inf (1LL << 30) - 1
#define rep(i,j,k) for(int i = (j); i <= (k); i++)
#define rep__(i,j,k) for(int i = (j); i < (k); i++)
#define per(i,j,k) for(int i = (j); i >= (k); i--)
#define per__(i,j,k) for(int i = (j); i > (k); i--) const int N = ;
int G[N][N];
bool vis[N];
int dis1[N];
int dis2[N];
int u,v,w;
int n,m,X; void init(){ rep(i,,n) vis[i] = false;
rep(i,,n) rep(j,,n){
if(i == j) G[i][j] = ;
else G[i][j] = inf;
}
} void input(){ rep(i,,m){
cin >> u >> v >> w;
if(G[u][v] > w) G[u][v] = w;
}
} void dijkstra(){ //////////////////////////////////////////////////////////
//(1)第一部分
rep(i,,n) dis1[i] = G[i][X]; //dis[]存的是其他城市到X点的最短距离
vis[X] = true; rep(i,,n){ int x = -;
int w = inf; rep(j,,n){
if(!vis[j] && w > dis1[j]) w = dis1[x = j];
}
if(x == -) continue; vis[x] = true;
rep(k,,n){
//如果k点到X点的距离 大于 k点到x点的距离加上x到X点的距离 那么更新dis[]数组
if(!vis[k] && dis1[k] > dis1[x] + G[k][x]){
dis1[k] = dis1[x] + G[k][x];
}
}
} // rep(i,1,n) cout << dis1[i] << endl; ////////////////////////////////////////////////////////////
//(2)第二部分 就是一模一样的dijkstra板子
rep(i,,n) vis[i] = false;
rep(i,,n) dis2[i] = G[X][i];
vis[X] = true; rep(i,,n){
int x = -;
int w = inf; rep(j,,n){
if(!vis[j] && w > dis2[j]) w = dis2[x = j];
} if(x == -) continue; vis[x] = true;
rep(k,,n){
if(!vis[k] && dis2[k] > dis2[x] + G[x][k]){
dis2[k] = dis2[x] + G[x][k];
}
}
}
int ans = ; //把来回的路线加起来,选出最长的那个来回,就是答案
rep(i,,n) if(i != X) ans = max(ans, dis1[i]+ dis2[i]); cout << ans << endl;
} int main(){ ios::sync_with_stdio(false);
cin.tie(); cin >> n >> m >> X; init();
input();
dijkstra(); getchar();getchar();
return ;
}

kuangbin专题专题四 Silver Cow Party POJ - 3268的更多相关文章

  1. ShortestPath:Silver Cow Party(POJ 3268)

    牛的聚会 题目大意:一群牛在一块农田的不同的点,现在他们都要去到同一个地方开会,然后现在从那个地方回到原来的位置,点与点之间的连线都是单向的,并且通过一个路径需要一定时间,问你现在哪只牛需要最多的时间 ...

  2. Silver Cow Party POJ - 3268 (固定起点和固定终点的最短路)

    思路:有向图.假设在X牧场参加party,从X回家的时候,以X为起点,使用一次Dijkstra算法即可.难点在于去X参加party的最短路如何求解. 这时候我们可以反向建图,即把原来有向图的方向全部反 ...

  3. Silver Cow Party POJ - 3268

    #include<iostream> #include<queue> #include<cstring> using namespace std; +,INF=0x ...

  4. DIjkstra(反向边) POJ 3268 Silver Cow Party || POJ 1511 Invitation Cards

    题目传送门 1 2 题意:有向图,所有点先走到x点,在从x点返回,问其中最大的某点最短路程 分析:对图正反都跑一次最短路,开两个数组记录x到其余点的距离,这样就能求出来的最短路以及回去的最短路. PO ...

  5. [kuangbin带你飞]专题四 最短路练习 POJ 3268 Silver Cow Party

    题意: 在一个有向图中求n头牛从自己的起点走到x再从x走回来的最远距离 思路一开始是暴力跑dij…… 讲道理不太可能…… 然后就百度了一下 才知道把矩阵转置的话就只需要求两次x的单源最短路…… /* ...

  6. 「kuangbin带你飞」专题十四 数论基础

    layout: post title: 「kuangbin带你飞」专题十四 数论基础 author: "luowentaoaa" catalog: true tags: mathj ...

  7. POJ 3268 Silver Cow Party (双向dijkstra)

    题目链接:http://poj.org/problem?id=3268 Silver Cow Party Time Limit: 2000MS   Memory Limit: 65536K Total ...

  8. 开发指南专题十四:JEECG微云高速开发平台MiniDao 介绍

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/zhangdaiscott/article/details/27068645   开发指南专题十四:J ...

  9. POJ 3268 Silver Cow Party (最短路径)

    POJ 3268 Silver Cow Party (最短路径) Description One cow from each of N farms (1 ≤ N ≤ 1000) convenientl ...

随机推荐

  1. Servlet 下载文件及支持中文文件名

    Sevlet 下载pdf文件 支持中文文件名 package html2pdf.controller; import java.io.File; import java.io.FileInputStr ...

  2. Java 解压 zip 文件

    代码如下 package test_java; import java.io.File; import java.io.FileOutputStream; import java.io.IOExcep ...

  3. udev规则(转)

    Writing udev rules by Daniel Drake (dsd)Version 0.74 The most recent version of this document can al ...

  4. c# 异步调用(异步模式,基于事件)

    c# 异步调用之异步模式Func<string, IImageRequest, string> downloadString = (address, req) => { var cl ...

  5. CloseableHttpClient方式配置代理服务器访问外网

    小编最近在负责银行内部项目.其中有模块需要访问天眼查API接口,但由于公司全部内网,所以需要配置代理服务器才可以访问外网接口. 又到了激动人心的上码时刻! public void Connect(Ht ...

  6. 爬虫框架 ---- scrapy 框架的介绍与安装

    -----  爬虫 基于B/S 模式的数据采集技术,按照一定的规则,自动的抓取万维网信息程序 以一个或多个页面为爬取起点,从页面中提取链接实现深度爬取 使用爬虫的列子 第三方抢票软件(360/猎豹/ ...

  7. 第十七节:.Net Core中新增HttpClientFactory的前世今生

    一. 背景 1.前世 提到HttpClient,在传统的.Net版本中简直臭名昭著,因为我们安装官方用法 using(var httpClient = new HttpClient()),当然可以Di ...

  8. Effective.Java第23-33条(泛型相关)

    23.  类结构层次优于标签类 有时你会碰到一个类,它的实例有一个或多个风格,并且包含一个tag属性表示实例的风格.例如,如下面的类表示一个圆或者矩形: public class Figure { / ...

  9. SpringBoot 基础(一)

    目录 SpringBoot 基础(一) 一.简介 二.重要注解 三.基本应用开发 1. lombok的使用 2. SpringBoot 的参数传递 3. 对象参数校验 4. 静态资源 四.Spring ...

  10. 不一样的LCA——luoguP1852跳跳棋

    洛谷端题目链接 loj端题目链接 题目大意: 在一条数轴上进行跳跳棋游戏.棋子只能摆在整点上.每个点不能摆超过一个棋子.用跳跳棋完成:棋盘上有3颗棋子,分别在a,b,c这三个位置.我们要通过最少的跳动 ...