poj 3268 (最短路 spfa)

豆包大模型API调用两种方法 ps: 因为是自用,所以这里图方便采用硬编码密钥的形式;如果有需求/安全风险,建议参考官方教程设置ARK_API_KEY环境变量的方式。坏处是:看别人的教程走了一大圈弯路hh;基础调用的话方法一就可以满足了,也比较方便快捷,容易上手。将 <Model> 替换为 Endpoint ID即可。创建就按照提示填写信息就行,需要实名认证,有免费额度。绿框框里就是Endpoint ID。 阅读详情

Language:
Silver Cow Party
Time Limit: 2000MS Memory Limit: 65536K
Total Submissions: 12910 Accepted: 5776

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.

Source




题意:4个村庄,8条有向边,2为起点,问其他村庄到2后又回去,求哪一个村庄浪费的时间最多,只要输出时间


spfa算法其实挺还好,关键是里面的邻接表不好理解


思路: 两次spfa,第一次算出别的村庄来的时间,第二次反向建边,反向建边是说到达此点的点有哪些然后更新那些点,

在一次强调,里面的邻接表不好理解,献血邻接表再学spfa


直接上代码了



#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<queue>
using namespace std;
#define N 10005
#define maxe 0x3f3f3f3f

int n,m,x;
int vis[N],dis[N];
int head[N];
int num;
int temp[N];

struct stud1{
int s,e,w;
}ss[N*2];

struct stud{
int to,w,next;
}ee[N*2];

void build(int u,int v,int w)
{
    ee[num].to=v;
    ee[num].w=w;
    ee[num].next=head[u];
    head[u]=num;
    num++;
}

void spfa(int x)
{
    int i,j;
    for(i=1;i<=n;i++)
    {
        dis[i]=maxe;
        vis[i]=0;
    }

    dis[x]=0;
    vis[x]=1;

    queue<int>q;
    q.push(x);

    int cur;
    while(!q.empty())
    {
        cur=q.front();
        q.pop();
        vis[cur]=0;

        for(i=head[cur];i!=-1;i=ee[i].next)
        {
            if(dis[ee[i].to]>dis[cur]+ee[i].w)
            {
                dis[ee[i].to]=dis[cur]+ee[i].w;
                if(!vis[ee[i].to])
                {
                    q.push(ee[i].to);
                    vis[ee[i].to]=1;
                }
            }
        }
    }

    for(i=1;i<=n;i++)
       temp[i]+=dis[i];
}

int main()
{
    int i,j;
    while(~scanf("%d%d%d",&n,&m,&x))
    {
     num=0;
     for(i=1;i<=n;i++)
     {
         temp[i]=0;
         head[i]=-1;
     }

     for(i=0;i<m;i++)
        {
            scanf("%d%d%d",&ss[i].s,&ss[i].e,&ss[i].w);
            build(ss[i].s,ss[i].e,ss[i].w);
        }

        spfa(x);

        num=0;
       for(i=1;i<=n;i++)
        head[i]=-1;

        for(i=0;i<m;i++)
          build(ss[i].e,ss[i].s,ss[i].w);

        spfa(x);

        j=1;
        for(i=2;i<=n;i++)
            if(temp[i]>temp[j])
            j=i;
        printf("%d\n",temp[j]);
    }
    return 0;
}






手把手教你从入门到精通C#串口通信 本文以我开发的串口助手SComTool为例,详细介绍《C#串口通信从入门到精通》专栏的目录内容,本专栏由一个高级工程师多年实战经验总结,绝对是c#串口通信的葵花宝典!带您从入门到精通C#串口通信! 阅读详情

相关推荐

学习stm32H7之路开始(STM32H7系列1) 前期准备,HAL库框架

2020.01.07 几个重要的参考网址 1.电子工程世界网 http://tags.eeworld.com.cn/tags/STM32H7 链接: link. 2.转:https://blog.youkuaiyun.com/simon223/article/list/2?t=1 链接: link. ———————————————— 版权声明:本文为优快云博主「Simon223」的原创文章,遵循 CC 4....

kengkengkeng963的博客 3408

POJ3268 最短路

题目链接:http://poj.org/problem?id=3268 题意:奶牛派对:有分别来自 N 个农场的 N 头牛去农场 X 开party,农场间由 M 条有向路径连接。每头牛一来一回都挑最短的路走,求它们走的路的最大长度? 规模:1 ≤ N ≤ 1000,1 ≤ M ≤ 100,000,1 ≤ Ti ≤ 100(路径长度) 类型:最短路 分析: 乍一看是一个Floyd-Warsh

spring_3_shine的博客 436

Zynq远程更新程序实战:从emmc到flash的完整方案解析

本文详细解析了Zynq远程更新程序的完整方案,重点探讨了从emmc到flash的实战操作。通过硬件连接限制破解、emmc配置技巧、flash擦写策略优化等关键技术点,提供了可靠的远程更新解决方案,特别适合需要频繁更新boot.bin的应用场景。

weixin_29163797的博客 179

poj 3268一道最短路径题

这个题目有一个很巧妙的转换方法。 众所周知,迪杰斯特拉算法是求单源最短路的,是一个点到多个点的最短路径 这个题目给你的图是的路都是单向的路。 而这题先让你求多个点到单个点的最短路,然后再求单个点到多个点的最短路。 求多个点到单个点(代号为s)的最短路在无向图中直接就是s到其他多个点的最短路,可是在有向图中不是这样。 那怎么求呢? 脑洞方法:把这个图上所有的单向路全都反过来,以s

Yonggie的博客 684

【WRF编译-Lab1】使用自动脚本编译WRF:错误总结

WRF编译过程及错误总结

WW、forever的博客 83

【人工智能时代】- 一键部署本地AI大模型

Ollama是一个开源项目,致力于简化大型语言模型(LLM)的本地部署过程。它允许用户在自己的硬件上运行和测试最新的语言模型,无需依赖云服务。Ollama提供了一个类似于OpenAI的API接口,使得开发者可以轻松地在自己的应用程序中集成大型语言模型。此外,Ollama WebUI为用户提供了一个友好的界面,用于管理和与模型进行交互。

xiaoli8748的专栏 2370

poj 3268(Dijkstra+有向图的处理)

Silver Cow Party POJ - 3268 题目的大意是说在2号点有一个party,所有其他点的牛都要去,同时也要回来,求在所有的牛来回的最短时间内最大值是多少。一开始我是用了最容易想到的方法,从其他点到x点,再从x点到其他点这样一次次的遍历一遍,想想都成三层for循环了,结果肯定就是TLE》==《了,用了邻接表,同样TLE,没办法看了一下题解,原来很简单,将图倒过来记一次,正着记一次...

c___c18的博客 567

创建 Qt Quick 项目

来看看如何使用 Qt Creator 创建 Qt Quick 项目!

青春不老,奋斗不止! 1万+

poj-3268

题意:有编号为1-N的牛,它们之间存在一些单向的路径。给定一头牛的编号,其他牛要去拜访它并且拜访完之后要返回自己原来的位置,求这些牛中所花的最长的来回时间是多少。 题解:从x跑一边dij,再把方向反过来再从x跑一遍dij。 #include &lt;stdio.h&gt; #include &lt;string.h&gt; #include &lt;iostream&gt; #include...

Zhengggggg的博客 943

Pulseaudio之同步/异步(十一)

PulseAudio是一个声音服务器,一个后台进程从一个或多个音源(进程或输入设备)接受声音输入 然后重定向声音到一个或多个槽(声卡,远程网络PulseAudio服务,或其他进程)。 PulseAudio的主要特点包括: 可对每一个应用程序进行音量控制Per-application volume controls 可扩展的插件与支持可装载模块架构 兼容性许多流行的音频应用程序 支持多重音源和多重输出 低延时操作和支持延迟测量 一个对处理器资源效率零拷贝内存架构 能够发现本地网络上使用PulseAu

Android系统攻城狮 994

如何使用tinyalas接口从usb录音的同时从扬声器播放

3、 以上步骤确认完后,就可以修改tinyhostless.c程序,tinyhostless的本质就是边pcm_read(),边pcm_write();但原本tinyhostless只支持对同一声卡进行操作,所有需要修改其代码,改成录音和播放可支持不同声卡,如果是模拟声卡,有回环测试,可以实现边录边播放,但涉及USB声卡时,就没有现场的类似功能,有时候客户因为硬件特殊性,会有从USB录音的同时从扬声器播放出来的需求,本文简要描述如何使用tinyalsa接口实现该需求;

sdrgtywretyeruet的专栏 969

【算法每日一练]-图论 篇3(最短路) 营救 ,POJ3268 ,传送门 ,负环判断 ,灾后重建

今天将最短路

m0_69478376的博客 533

Unity3D实现视频和模型融合效果

在Unity中,视频和3D模型融合通常涉及到将视频表面内嵌到3D场景中。视频不影响模型的展示, 这可以通过使用Shader和Texture来实现。大家好,我是心疼你的一切,不定时更新Unity开发技巧,觉得有用记得一键三连哦。下面就让我们进入正文吧!提示:以下是本篇文章正文内容,下面案例可供参考本次介绍的就是视频和模型融合的实现,以后有其他的需要添加的会继续添加不定时更新Unity开发技巧,觉得有用记得一键三连哦。么么哒。

心疼你的一切博客 5357

poj3268 spfa 最短路

题目链接:点击打开链接 题意: 给定一个有向图; 问每头牛到固定地点聚会的花费加上回家的花费之和最大的花费是多少; 其中去和回都是最小的花费; 理解: 此题看上去可以先算回去的最小花费; 但是每头牛来的最小花费怎么算呢? 由于这个图是有向图; 如果把方向翻转了,那么去就是回,回就是去; 再算一次最短路就可以求出每头牛去和回的最短路之和了; 那么两次spfa就可

追求和名字一样的级别 501

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

pscad IEEE标准系统搭建说明

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

No.11 - POJ3268 SPFA 最短路

SPFA算法,求两次最短路: // ShellDawn // POJ3268 // No.11 #include<algorithm> #include<cstdio> #include<iostream> #include<cstring> #include<queue> #include<vector> #define ...

ShellDawn的博客 186

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

POJ3268 Silver Cow Party spfa求解 最短路

题意:有N个点M条边,农场间由M条有向路径连接。每头牛来回都走最短的路,求这些牛中来回的最大时间? 分析:做两次spfa,一次以X为源点到每头牛,再一次从每头牛到X,求出每头牛来回的最大时间即使答案。 #include #include #include #include #include #include const int INF=0x3f3f3f3f; typedef long long

小萨摩的博客 450

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Silver Cow Party POJ - 3268 (最短路 spfa)

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 r

Top_xiao的博客 249

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

POJ-3268 Silver Cow PartySilver Cow Party Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 19989 Accepted: 9128DescriptionOne cow from each of N farms (1 ≤ N ≤ 1000) convenientl

废宅工程狮养成日志 420

POJ 3268 Silver Cow Party (来回最短路 SPFA)

POJ 3268 Silver Cow Party (来回最短路 SPFA)

Tc的专栏 1146

poj 3268 Silver Cow Party(最短路+SPFA)

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

nealgavin的专栏 593

最短路(SPFA+负权回路的判断)-poj3268

Language: Default Silver Cow Party Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 10887   Accepted: 4831 Description One cow from each of N farms (1 ≤

龙崎的专栏 940

POJ 3835 & HDU 3268 Columbus’s bargain(最短路 Spfa)

POJ 3835 & HDU 3268 Columbus’s bargain(最短路 Spfa)

1562

POJ 3268 - Silver Cow Party(链式前向星正反建图 + 两次最短路spfa)

来自 N (1 ≤ N ≤ 1000)个农场的奶牛的编号分别为1,2, … ,N。现在在农场 X (1 ≤ X ≤ N) 举行聚会。总共有 M (1 ≤ M ≤ 100,000) 条单向通道。路 i 需要时间 Ti 才能通过。每头牛都需要参加聚会并返回,而且它们均选择花费时间最短的路线。 问:在所有的奶牛中,所花费的最长时间为多少? Input 第一行包含三个整数N,M,X。 在接下来的M行中,每行都包括三个整数A,B和T,表示从农场A到B需要花费时间T。 Output 输出奶牛所花的最大时间。 Sampl

在读NLP硕士 181

POJ 3835 & HDU 3268 Columbus’s bargain(最短路 Spfa)

题目链接: POJ:http://poj.org/problem?id=3835 HDU:http://acm.hdu.edu.cn/showproblem.php?pid=3268 Problem Description On the evening of 3 August 1492, Christopher Columbus departed from Pa...

weixin_30278311的博客 88

poj-3268 Silver Cow Party (最短路-spfa-求到同一起点,同一终点的最短路)

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

Lee_w_j__的博客 413

poj-3268(最短路,逆转矩阵||spfa优先队列优化)

题目链接:http://poj.org/problem?id=3268 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...

永远鲜红の幼月的博客 338
上一篇: poj 1200 (hash)
下一篇: zoj 3818 Pretty Poem (模拟)
左眼皮跳跳~
博客等级 码龄13年 17粉丝 400原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值