POJ3268 Silver Cow Party(dijkstra)

【代码超详解】POJ 3268 Silver Cow Party(Dijkstra 算法 + 思维) 一、题目描述 二、算法分析说明与代码编写指导 每头牛都会到点 x 参加聚会,然后返回。但路是单向的,因此回去的路可能与来的路不同。 如果对每个点都跑一次 Dijkstra,或者直接跑一次 Floyd 算法,由于复杂度达到 O(n^3),在本题的数据规模下会超时。 从 x 回去的最短路可以直接套 Dijkstra 算法求解单源最短路径。从各点来到 x 的最短路径也只需要跑一次 Dijkstra 就... 阅读详情

Silver Cow Party
Time Limit: 2000MS Memory Limit: 65536K
Total Submissions: 15644 Accepted: 7106

Description

One cow from each of N farms (1 ≤ N ≤ 1000) conveniently numbered 1..N is going to attend the big cow party to be held at farm #X (1 ≤ X ≤ N). A total of M (1 ≤ M ≤ 100,000) unidirectional (one-way roads connects pairs of farms; road i requires Ti (1 ≤ Ti ≤ 100) units of time to traverse.

Each cow must walk to the party and, when the party is over, return to her farm. Each cow is lazy and thus picks an optimal route with the shortest time. A cow's return route might be different from her original route to the party since roads are one-way.

Of all the cows, what is the longest amount of time a cow must spend walking to the party and back?

Input

Line 1: Three space-separated integers, respectively: N, M, and X 
Lines 2..M+1: Line i+1 describes road i with three space-separated integers: Ai, Bi, and Ti. The described road runs from farm Ai to farm Bi, requiring Ti time units to traverse.

Output

Line 1: One integer: the maximum of time any one cow must walk.

Sample Input

4 8 2
1 2 4
1 3 2
1 4 7
2 1 1
2 3 5
3 1 2
3 4 4
4 2 3

Sample Output

10

Hint

Cow 4 proceeds directly to the party (3 units) and returns via farms 1 and 3 (7 units), for a total of 10 time units.


一头牛可以从n个farm中任意一个出发到farm X开party,m条单向路,代价是t,问你去party和回farm最大和是多少。


两次dijkstra即可。


AC代码:


#include "iostream"
#include "cstdio"
#include "cstring"
#include "algorithm"
using namespace std;
const int inf = 0x3f3f3f3f;
const int maxn = 1010;
int map[maxn][maxn], d[maxn], dback[maxn];
bool vis[maxn];
int n, m, x;

int dijkstra()
{
	int v, mi;
	for(int i = 1; i <= n; ++i) {
		vis[i] = 0;
		d[i] = map[x][i];
		dback[i] = map[i][x];
	}
	for(int i = 1; i <= n; ++i) {
		mi = inf;
		for(int j = 1; j <= n; ++j) 
			if(!vis[j] && d[j] < mi) {
				v = j;
				mi = d[j];
			}
		vis[v] = true;
		for(int j = 1; j <= n; ++j)
			if(!vis[j] && map[v][j] + d[v] < d[j])
				d[j] = map[v][j] + d[v];
	}
	memset(vis, false, sizeof(vis));
	for(int i = 1; i <= n; ++i) {
		mi = inf;
		for(int j = 1; j <= n; ++j)
			if(!vis[j] && dback[j] < mi) {
				v = j;
				mi = dback[j];
			}
		vis[v] = true;
		for(int j = 1; j <= n; ++j)
			if(!vis[j] && map[j][v] + dback[v] < dback[j])
				dback[j] = map[j][v] + dback[v];
	}
	mi = -1;
	for(int i = 1; i <= n; ++i)
		if(d[i] + dback[i] > mi)
			mi = d[i] + dback[i];
	return mi;
}
int main(int argc, char const *argv[])
{
	int a, b, c;
	while(cin >> n >> m >> x) {
		for(int i = 1; i <= n; ++i)
			for(int j = 1; j <= n; ++j)
				if(i != j) map[i][j] = inf;
				else map[i][j] = 0;
		for(int i = 1; i <= m; ++i) {
			cin >> a >> b >> c;
			map[a][b] = c;
		}
		cout << dijkstra() << endl;
	}
	return 0;
}


【Altium designer】如何添加过孔阵列 按下图1指示,执行【Tool】菜单栏下【Via Stitching/Shielding】选项卡中的【Add Stitching to Net...】选项 图1 “添加过孔阵列”选项 点击【Add Stitching to Net...】选项后,会跳出一个窗口,让我们设置过孔阵列的参数信息,如下图2所示。 图2 过孔阵列参数设置 过孔阵列区域:勾选该选项框,即可绘制多边形区域; 过孔内径与焊盘直径:比如内径 【Hole Size】设为12mil,焊盘直径【Diameter】设为24mil; . 阅读详情

相关推荐

通俗易通解释SLAM问题的数学描述:运动方程和观测方程

高翔博士在他的《视觉SLAM十四讲》中把SLAM问题的数学描述抽象成了两个数学方程,以下对此做个总结,并且对此做一些通俗易懂的解释: 一、方程的总体形式 作为理性层次的描述,我们引入数学方程来描述SLAM过程,其中第一个方程叫做运动方程、第二个方程叫做观测方程,想象一下我们在研究SLAM的时候肯定需要观测机器人(无人汽车、无人机等都可以统称为机器人)的运动(画面感很强哈哈),这样很容易理解并且记忆这两个方程的名称和意义: 二、变量的含义 我们看到,这两个方程中有大量的英文字母作为变量存在其中,下面介绍一下

weixin_41855010的博客 7110

POJ 3268 Silver Cow Party 【反向dijkstra】

POJ 3268 Silver Cow Party 题目大意: 每个农场有一只奶牛,所有奶牛都要去指定的一个农场X中聚会,聚会结束后各自回自己的农场, 求所有的奶牛出门参加聚会再回到家中的最短用时,即求出耗时最长的奶牛的时间 具体思路: 最短路求解,先求x到各个农场的时间,再将各边反向,再求一次x到各个农场的时间。 将两个时间相加,最小的时间即为所求 (求图中所有点到指定点的最短距离可以转化为求指...

指弹键盘哼民谣 810

Visual Studio Community与Visual Studio Community与VS Code有啥区别

Visual Studio Code提供了基本的代码编辑、调试和版本控制功能,以及丰富的插件和扩展库。Visual Studio Community和Visual Studio Code在功能上有很大的差异,Visual Studio Community提供了比Visual Studio Code更多的功能,包括代码重构、智能提示、图形化设计等。他的优势在于它的轻量级和灵活性。此外,Visual Studio Code还具有丰富的扩展和插件生态系统,用户可以通过安装插件来扩展其功能,从而满足自己的需求。

m0_56551554的博客 2843

[POJ 3268 Silver Cow Party ]Dijkstra

[POJ 3268 Silver Cow Party ]Dijkstra知识点:Dijkstra1. 题目链接[POJ 3268 Silver Cow Party ]2. 题意描述有nn个顶点,mm条边的有向图。求图中所有,从该节点出发到点xx,然后从xx回到该节点的最短路最长有多长。 (1≤N≤1000,1≤M≤100,000)(1 ≤ N ≤ 1000,1 ≤ M ≤ 100,000)3. 解

Fighting! 539

数据库迁移策略实战:MySQL到PostgreSQL

数据库迁移是一项复杂且细致的任务,需要充分的准备工作、合适的迁移策略和严格的验证与优化步骤。通过选择合适的迁移工具、进行手动迁移和应用程序适配、以及迁移后的验证与优化,可以确保数据迁移的成功和业务的连续性。希望本文的分享能够为大家在MySQL到PostgreSQL的数据库迁移实战中提供一些有用的参考和启示。

shejizuopin的博客 1730

SPARTAN6 + Verilog - FPGA step by step 从0开始学习(1)

SPARTAN6 + Verilog - FPGA step by step 从0开始学习(1)Step 1 软件安装Step 2 硬件获取Step 3 开始从头到脚建一个工程Step 3.1 新建一个工程 从0开始学习FPGA,最好的办法就是先建一个最简单的模块,并且跑起来,然后再慢慢展开。下面这个例子是要按照一定的周期点亮核心板上的一个led。 Step 1 软件安装 这个从0开始学习是用的xilinx的SPARTAN6。SPARTAN6集成开发环境用ISE,不能用Vivado,各自对应的版本不同。安装

xfacexx点点记录 5512

POJ 3268 Silver Cow Party 最短路—dijkstra算法的优化。

POJ 3268 Silver Cow Party Description One cow from each of N farms (1 ≤ N ≤ 1000) conveniently numbered 1..N is going to attend the big cow party to be held at farm #X (1 ≤ X ≤ N). A tota...

261

Buck电路中自举电容串联小电阻的作用

在Buck电路中,自举电容(Cboot)驱动高边MOSFET时,因寄生电感和电容会形成LC谐振回路,导致SW节点高频振铃,引发EMI问题。串联小电阻(Rboot)可引入阻尼效应,抑制振铃、改善波形和EMI性能,但会略微增加开关损耗。设计时建议预留可调电阻位(2Ω~20Ω),根据实测结果平衡效率与系统稳定性,提升电源可靠性。这一措施是优化开关电源EMC的常见实践。

硬核科技 625

[POJ3268](最短路dijkstra+反向存图)Silver Cow Party

POJ3268Silver Cow Party 题目 ne cow from each of N farms (1 ≤ N ≤ 1000) conveniently numbered 1…N is going to attend the big cow party to be held at farm #X (1 ≤ X ≤ N). A total of M (1 ≤ M ≤ 100,000) u...

Z7784562的博客 326

大学计算 - 方程求解 实训答案 第3关

【代码】大学计算 - 方程求解 实训答案 第3关。

2403_89314916的博客 106

【感知模块算法】障碍物detect+trace+prediction方向介绍

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录系列文章目录前言一、多维度看感知问题,体会复杂性二、障碍物/环境目标detect方向1.视觉目标检测方向(1)图像处理认知(2)视觉基础理论部分1、获取数据集---python网页爬虫、买数据、自己录数据、使用开源比赛的数据集2、opencv库的学习3、深度学习框架学习(3)视觉目标检测理论(1)目标检测的概念(2)目标检测的应用场景(3)现有目标检测框架原理及论文【这仅仅是我当初入门学习的框架~

qq_35635374的博客 2894

Dijkstra算法:POJ No 3268 Silver Cow Party

Dijkstra算法:POJ No 3268 Silver Cow Party 题目:http://poj.org/problem?id=3268 题解:使用 priority_queue队列对dijkstra算法进行优化 #include <iostream> #include <algorithm> #inc...

豆子 209

操作系统权限提升(十五)之绕过UAC提权-基于白名单DLL劫持绕过UAC提权

先将操作在本地执行,使用procmon进行监控,过滤DLL和 NAME NOT FOUND ,寻找可以替换的DLL文件,注意文件的权限是否可以在目录写入,可以看到在C盘的tools目录的文件中有一个srrstr.dll被调用,但是没有加载,我们生成恶意的DLL文件看看是否可以被劫持。在Windows中许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库文件,即dll文件,放置于系统中,个人理解类似于我们编程中引入的模块。将我们生成的DLL文件改名为我们要劫持的DLL文件名。

把自己活成一道光,因为你不知道,谁会借着你的光,走出了黑暗。请保持心中的善良,因为你不知道,谁会借着你的善良,走出了绝望。请保持你心中的信仰,因为你不知道,谁会借着你的信仰,走出了迷茫。请相信自己的力量,因为你不知道,谁会因为相信你,开始相信了自己.... 1873

POJ3268 Silver Cow Party 反向建图(Dijkstra)

Sample Input 4 8 2 1 2 4 1 3 2 1 4 7 2 1 1 2 3 5 3 1 2 3 4 4 4 2 3 Sample Output 10 注意: 在写正向和反向dij的时候注意替换全部的dis和visited为另外一个数组 否则你就会debug两小时(逃) 考虑提前终止条件,当前点的更新最好放在循环外边 考虑用邻接数组代替邻接链表?(节省时间) 代码如下: #include <stdio.h> #include <iostream> #inclu.

Lewis的博客 237

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

POJ.3268 Silver Cow Party (Dijkstra)

POJ.3268 Silver Cow Party (Dijkstra)题意分析稍后补代码总览#include <cstdio> #include <cstring> #include <algorithm> #include <queue> #include <stack> #include <vector> #include <cmath> #define nmax 1005 #define i

Pengwill's Blog 384

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

POJ 3268 Silver Cow Party (Dijkstra算法)

题目链接:https://vjudge.net/problem/POJ-3268 大意:给你个有向图,再给你个点,求图中某个点i到该点的最短路与该点到点i的最短路的和的最大值。 思路:求一个点到其他所有点的最短距离,这很简单,就是单源最短路问题。若是求其他所有点到某个点的最短距离呢,难道还要对每个点调用一次Dijkstra吗,当然没有必要。不难发现,这个过程就是单元最短路的逆过程。我们

Interstellar_的博客 330

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

POJ3268 Silver Cow Party 【Dijkstra】

Silver Cow Party Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 13183   Accepted: 5932 Description One cow from each of N farms (1 ≤ N ≤ 1000) convenientl

长风的专栏 973

POJ - 3268(Silver Cow Party)最短路 dijkstra算法

题目链接:http://poj.org/problem?id=3268 这道题的主要意思是有1-n头牛分别来自1-n号农场,农场之间有一些路,且都是单向的。现全部牛要到x号农场开party,开完后还要回到各自的农场,每一头牛都会选择最短时间的路来走,问这些牛中走的最长的时间。 思路:先求出每头牛到x农场的最短时间,再求每头牛返回各自农场的最短时间,两者相加取最大即可。而难点就在于怎么求最短时间,这...

Zoran的博客 339

POJ 3268 Silver Cow Party dijkstra最短路

POJ 3268 Silver Cow Party 题目大意: 每个农场有一只奶牛,所有奶牛都要去指定的一个农场X中聚会,聚会结束后各自回自己的农场, 求所有的奶牛出门参加聚会再回到家中的最短用时,即求出耗时最长的奶牛的时间 具体思路: 最短路求解,先求x到各个农场的时间,再将各边反向,**再求一次x到各个农场的时间。**将两个时间相加,最小的时间即为所求 我本来还傻傻的跑了N遍,以求出每个点对其他点的最短路,看了题解才发现有这样神奇的思路。 求图中所有点到指定点的最短距离可以转化为求指定点到所有点的最短距

EP的别三日 220

POJ-3268 Silver Cow Party (Dijkstra)

原题链接:http://poj.org/problem?id=3268 题意:有n个点,每个点都有一头牛,m条路,其他牛要去第 k 个牛那聚会,然后再回家,求这n-1头牛中去k点再回家 花费时间最长的那头牛的花费时间。 思路:先跑一遍dijkstra,可以求出从k到其他地方的时间。再反向建图,再跑一遍dijkstra,可以求出从其他点到k点的时间。 #include <iostream&gt...

FLY的博客 194

poj 3268 Silver Cow Party【dijkstra】

Silver Cow Party Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 20681   Accepted: 9464 Description One cow from each of N farms (1 ≤ N ≤ 1000) convenientl

逝去的时光 248

POJ 3268 Silver Cow Party dijkstra算法变种

题目链接 Description One cow from each of N farms (1 ≤ N ≤ 1000) conveniently numbered 1…N is going to attend the big cow party to be held at farm #X (1 ≤ X ≤ N). A total of M (1 ≤ M ≤ 100,000) unidirect...

RPG_Zero的博客 226

POJ 3268 Silver Cow Party(Dijkstra)

POJ 3268 Silver Cow Party(Dijkstra) http://poj.org/problem?id=3268 题意:有N头牛要去参加牛X那里的聚会,现在除了X牛外,其他N-1头牛都要走到X牛那里去.给你M条有向边,现在问你任意一头牛从自己的位置走到X牛那,然后再走回来(来回都选择最短路径走)的话,需要的总时间的最大值是多少?即从所有N-1头牛中找那个最大的来回时间.

code 1042

POJ 3268-Silver Cow Party(dijkstra算法)

题目大意:给出一个单向带权图和一个点s,求点u,u到s的最短路径和s到u的最短路径之和最大。 先求一次dijkstra,然后把所有的边反向,权值不变,再求一次dijkstra,将两者加起来求最大的值就是所求的答案。 #include #include #include #include using namespace std; const int maxn=1010; cons

dilemma的专栏 908

Silver Cow Party poj 3268 Dijkstra,spfa,+vector

Silver Cow Party poj 3268 Time Limit: 2000MS        Memory Limit: 65536K Total Submissions: 17173        Accepted: 7845 Description One cow from each of N farms (1 ≤ N ≤ 1000) conveniently num

持之以恒_fighting 601

POJ - 3268 Silver Cow Party (dijkstra)

Silver Cow Party One cow from each ofNfarms (1 ≤N≤ 1000) conveniently numbered 1..Nis going to attend the big cow party to be held at farm #X(1 ≤X≤N). A total ofM(1 ≤M≤ 100,000) uni...

YOONGI 208
上一篇: HDOJ1272 小希的迷宫(并查集)
下一篇: Codeforces Round #250 (Div. 2) 437A The Child and Homework(模拟)
GKHack
博客等级 码龄11年 48粉丝 291原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值