POJ 3268 - 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: 10898 Accepted: 4836

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.


=========================

有向图,求在不同点的牛到指定点来回的最短路之和的最大值是多少


由于dijkstra是求单源最短路,所以需要把矩阵逆置一次算两次最短路


#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
const int maxn=111;
const int maxm=111111;
const int INF=0x3f3f3f;
int n,m,x,MAX=-1;
int map[1111][1111],dis1[1111],dis2[1111],vis[1111];

void dijkstra(int s,int dis[])
{
    for(int i=1; i<=n; i++){
        dis[i]=INF;
        vis[i]=false;
    }
    dis[s]=0;
    for(int rp=1;rp<=n;rp++)
    {
        int u=0,mn=INF;
        for (int i=1;i<=n;i++){
            if (!vis[i]&&dis[i]<mn){
                mn=dis[i];
                u=i;
            }
        }
        if(u==0) return;
        vis[u]=true;
        for(int i=1;i<=n;i++)
        {
            if(map[u][i]<INF&&dis[i]>dis[u]+map[u][i])
                dis[i]=dis[u]+map[u][i];
        }
    }
}

void change()
{
    for(int i=1;i<=n;i++)
        for(int j=i+1;j<=n;j++)
            swap(map[i][j],map[j][i]);
}

int main()
{
    scanf("%d%d%d",&n,&m,&x);
    memset(map,INF,sizeof(map));
    int u,v,w;
    for(int i=1;i<=n;i++)
        map[i][i]=0;
    for(int i=0;i<m;i++)
    {
        scanf("%d%d%d",&u,&v,&w);
        map[u][v]=w;
    }
    dijkstra(x,dis1);
    change();
    dijkstra(x,dis2);
    for(int i=1;i<=n;i++)
    {
        MAX=max(dis1[i]+dis2[i],MAX);
    }
    printf("%d\n",MAX);
    return 0;
}


基于FreeSwitch与SIP UA的蓝牙电话坐席系统实战部署 本文详细介绍了如何基于FreeSwitch开源软交换平台,结合SIP UA软电话与蓝牙电话App,在局域网内搭建一套低成本、自主可控的电话坐席系统。文章提供了从环境准备、FreeSwitch安装配置、用户与拨号计划创建,到SIP软电话测试和蓝牙设备接入的完整实战部署流程,并给出了关键优化与排坑指南,适合小微团队或个人开发者构建内部通讯工具。 阅读详情

相关推荐

TMC5130/TMC5160步进电机驱动芯片深度解析与工程实践

步进电机驱动芯片是精密运动控制系统的物理执行核心,其性能直接决定定位精度、运行噪声与系统鲁棒性。基于电流闭环控制与电压前馈调制的混合驱动原理,现代智能驱动芯片如TMC51X0系列实现了微步插补、堵转检测和片上运动规划等关键技术突破。这类芯片通过SPI寄存器级配置实现StealthChop静音驱动与SpreadCycle高动态响应模式的无缝切换,在3D打印、CNC、机器人关节等场景中显著提升能效比与控制带宽。本文围绕TMC5130与TMC5160的硬件架构差异、寄存器操作时序、驱动模式物理机制及FreeRTO

weixin_35797963的博客 410

POJ 3268 Silver Cow Party 【反向dijkstra】

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

指弹键盘哼民谣 810

Win11下Wezterm配置Powershell默认终端全攻略(含主题同步技巧)

本文详细介绍了在Windows 11系统中,如何安装和配置Wezterm终端模拟器,并将其设置为PowerShell的默认终端。内容涵盖使用Winget或手动安装Wezterm,通过修改.lua配置文件切换默认Shell,并同步Campbell主题配色以还原熟悉的PowerShell视觉体验,旨在帮助开发者打造高效、个性化的命令行工作环境。

weixin_28363123的博客 1216

[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

睿思综述智能体:100篇高质量文献一键生成万字长文,还能联网PubMed,科研效率拉满!

对一个主题进行文献综述,是日常科研人绕不过去的工作,无论是写论文前言,综述论文,或者基金申请书的立项依据,需要根据主题,从海量文献中提取相关信息,梳理出清晰的逻辑线,再组织成流畅的文字。4 一键生成万字全文:大纲确认后,它会基于对所有论文的深度理解,逐个章节进行详细撰写,最终生成一篇逻辑连贯、内容翔实、引用规范的万字综述长文,并直接保存为Word(.docx)文件。3 智能撰写大纲:你可以提供自己的大纲,也可以让它根据所有文献内容,智能生成一个逻辑清晰的综述大纲,并支持你在此基础上修改。

dinaxuejie的博客 821

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

单细胞测序中pseudo bulk差异分析的实战指南与审稿人应对策略

本文提供了单细胞测序中pseudo bulk差异分析的完整实战指南,旨在应对审稿人对样本量统计效力的质疑。文章详细解析了从数据聚合、使用DESeq2进行差异分析,到与单细胞水平结果进行交叉验证的全流程,并给出了应对常见问题与撰写回复的策略,帮助研究者提升结论的稳健性与说服力。

weixin_29214199的博客 820

[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

远程桌面报‘数据加密错误‘?可能是网卡设置惹的祸(附TCP校验关闭教程)

本文深入分析远程桌面连接中出现的'数据加密错误'问题,指出网卡设置可能是根本原因,并提供详细的TCP校验关闭教程。通过禁用网卡高级属性中的'TCP校验和IPv4'与'IPv4承载卸载'功能,可有效解决RDP协议与硬件加速的兼容性问题,适用于Windows和Linux系统。

view3的博客 276

Python爬虫实战:逆向工程与异步处理攻克Pinterest无限滚动瀑布流

我们将从零开始,逐步分析其数据接口,构建一个功能完整的爬虫,并深入探讨反爬虫策略的应对、性能优化以及数据存储等高级主题。: 在实际爬取中,你需要先访问一次Pinterest主页,获取初始的Cookie和CSRF Token,然后再发起API请求。: Python爬虫,Pinterest,无限滚动,瀑布流,异步IO,httpx,逆向工程,API接口,动态内容,反爬虫。你会很快发现一些关键的请求模式。:页面初始加载有限内容,随着用户滚动,新的图片块通过AJAX动态加载,实现“永无止境”的浏览。

2201_76125261的博客 551

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

使用Zed 实现测距

此代码基于官方代码基础上进行改写,主要是获取zed相机深度画面的深度值,为yolo测距打基础。Zed相机是由Stereolabs公司开发的一种先进的立体视觉相机。这种相机专为计算机视觉和机器学习应用而设计,能够提供高质量的3D捕捉和分析功能。: Zed相机配备有一对垂直排列的传感器,能够捕捉两个略有偏移的图像,从而模拟人的双眼视觉,实现深度感知。: 利用立体成像技术,Zed相机能够实时生成环境的3D模型,这对于机器人导航、增强现实(AR)和虚拟现实(VR)等应用至关重要。

weixin_45303602的博客 912

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

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

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

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

POJ 3268 Silver Cow Party (Dijkstra算法)

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

Interstellar_的博客 330

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最短路

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

EP的别三日 220

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)

原题链接: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

POJ3268 Silver Cow Party(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) convenientl

GKHack's Blog 1242

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
上一篇: POJ 1789 - Truck History(最小生成树)
下一篇: POJ 3273 - Monthly Expense(二分)
coco430
博客等级 码龄14年 9粉丝 107原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值