题目链接: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. 每日一问:LayoutParams 你知道多少?

    前面的文章中着重讲解了 View 的测量流程.其中我提到了一句非常重要的话:View 的测量匡高是由父控件的 MeasureSpec 和 View 自身的 `LayoutParams 共同决定的.我们 ...

  2. C# 获得本地通用网卡信息

    可以通过使用命名空间下的ManagementObjectSearcher类及其方法Get来获得通用网卡信息. 其中,最重要的是ManagementObjectSearcher构造函数的输入参数,可以传 ...

  3. BuaaRedSun团队博客目录——北航社团项目

    目录 一.Scrum Meeting 1. Alpha 2. Beta 3. Gamma 二.测试报告 三.发布说明 四.技术博客 后端 前端 五.习得的软工原理/方法/技能? Alpha Beta ...

  4. c++篇 cad.grx 入门,手动配置编译环境

    安装vs2010+sp1补丁; 安装浩辰2018(64位版本); 下载浩辰Grx开发的SDK,注意对应版本年份., 解压到E盘目录下, E:\grxsdk 在他们的官方用户群下载,搜sdk, 找到gr ...

  5. spring JDBC的应用

    原文地址:https://www.iteye.com/blog/chen106106-1574911 1:首先在类路径下面配置访问数据的一些基本信息,包括连接数据库的地址,用户,密码jdbc.prop ...

  6. 自定义Yaml解析器替换Properties文件

    自定义Yaml解析器替换Properties文件 项目结构 案例代码 配置类SpringConfiguration @Configuration @Import(JdbcCofnig.class) @ ...

  7. [转帖]美团在Redis上踩过的一些坑-2.bgrewriteaof问题

    美团在Redis上踩过的一些坑-2.bgrewriteaof问题 博客分类: redis 运维 aofaof rewrite  转载请注明出处哈:http://carlosfu.iteye.com/b ...

  8. CentOS 安装OpenResty

    [1]环境部署 [1] 依赖环境安装 在环境的任意目录执行命令:yum install pcre-devel openssl-devel gcc curl 一路手动输入y 直到Complete,安装完 ...

  9. Feign实现自定义错误处理

    关键操作 实现ErrorDecoder接口 问题和背景 最近项目中在大量使用Feign和OkHttp作为http客户端使用,开发效率得到显著的提升.但也面临一些问题,比如每个下游系统的异常返回方式不同 ...

  10. 关于Java单例模式中双重校验锁的实现目的及原理

    开始复习设计模式,一开始理解单例模式中的双重校验锁卡住了,想通了后就自己做了段思维导图来帮助自己理解. 其实理解下来并不难,但还是记录下来帮助自己回忆和借机试试养成写博客的习惯~ public cla ...