基础最短路四 POJ3268

解题报告:【kuangbin带你飞】专题四 最短路练习题 最短路合集 阅读详情

 

POJ 3268 :http://poj.org/problem?id=3268

n为1000,m为100000

题目大意: 有很多牛分别从点X出发,到达各点,并返回回点X,问这些牛中经过的的最短路中,最大的最短路为多少。

 

   其实就是以X为起点的最短路,然后将边反转方向一下,再求一次最短路。

   两次和相加起来,扫一遍得到最大最短路。。。。

  

   用pos保存了每条边,两次输入到 edge里面。

   RE了很多次,后来发现错误是,把边数默认为 1000了。

 

 

依然是Spfa,很好用:

 

#include"cstdio"
#include"iostream"
#include"cstring"
#include"algorithm"
#include"vector"
#include"cmath"
#include"queue"
using namespace std;
#define INF 9999999
#define inf 1009
#define loop(x,y,z) for(x=y;x<z;x++)
#define ll long long

int n,m,s;
int book[inf];
int dis[inf];
int ans[inf];
int pos[100009][3];
queue<int>q;
struct node
{
    int to,w;
    node(int i,int j)
    {
        to=i;
        w=j;
    }
};
vector<node>edge[inf];

void init()
{
    int i;
    loop(i,1,n+1)
        edge[i].clear();
    loop(i,1,n+1)
        dis[i]=INF;
    dis[s]=0;
    memset(book,0,sizeof book);
    while(!q.empty())q.pop();
}

void Spfa()
{
    q.push(s);
    book[s]=1;
    int i;
    while(!q.empty())
    {
        int u=q.front();
        q.pop();
        book[u]=0;
        int len=edge[u].size();
        loop(i,0,len)
        {
            node& e=edge[u][i];
            if(dis[e.to]>dis[u]+e.w)
            {
                dis[e.to]=dis[u]+e.w;
                if(!book[e.to])
                {
                    q.push(e.to);
                    book[e.to]=1;
                }
            }
        }
    }
}
int main()
{
    int i,j,k;
    scanf("%d%d%d",&n,&m,&s);
    loop(i,0,m)
        scanf("%d%d%d",&pos[i][0],&pos[i][1],&pos[i][2]);
    memset(ans,0,sizeof ans);

    init();
    loop(i,0,m)
        edge[pos[i][0]].push_back(node(pos[i][1],pos[i][2]));
    Spfa();
    loop(i,1,n+1)
        ans[i]+=dis[i];
    init();
    loop(i,0,m)
        edge[pos[i][1]].push_back(node(pos[i][0],pos[i][2]));
    Spfa();
    loop(i,1,n+1)
        ans[i]+=dis[i];
    int big=0;
    loop(i,1,n+1)
        if(ans[i]>big)
            big=ans[i];
    printf("%d\n",big);
    return 0;
}

 

 

 

 

 

VConsole动态加载 // 移动端真机调试工具 vconsole import VConsole from "vconsole"; import Vue from "vue"; // 动态使用VConsole if(process.env.NODE_ENV==='production'){ if(process.env.VUE_APP_BASEURL.includes('test')||process.env.VUE_APP_BASEURL.includes('pre')){ Vue.prototype 阅读详情

相关推荐

【SoloPi】SoloPi使用2-功能使用,录制回放

Soloπ是什么 Soloπ是一个无线化、非侵入式的Android自动化工具,公测版拥有录制回放、性能测试、一机多控三项主要功能,能为测试开发人员节省宝贵时间。 录制回放功能 Soloπ拥有录制操作的能力,用户只需要通过Soloπ执行用例步骤,Soloπ就能够将用户的操作记录下来,并且支持在各个设备上进行回放,这一切都能够在手机上独立完成。 ...

q_Catherine的博客 5829

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

2023年5月青少年软件编程Python等级考试四级真题(含答案和解析)

电子学会,2023年5月,青少年软件编程,Python等级考试,四级真题(含答案和解析)

m0_37554648的博客 904

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

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

c___c18的博客 567

若依ruoyi框架实现单点登录或者接入统一认证

log.info("单点登录用户[{}]不存在, 需要创建.", loginName);log.info("单点登录用户[{}]已存在.", loginName);jsonObjectData.put("nickName","单点1");if (code.equals("0")) {//验证成功需要自动登录。jsonObject.put("msg","验证成功");ajax.put("msg", "登录成功");

GitHub质检员 2万+

第1课:开篇扫盲——OpenClaw是什么?能帮你解决什么问题?(入门必看)

核心目标:学会安装、卸载、管理OpenClaw技能,自定义AI代理的性格与权限,让AI贴合自己的使用习惯。核心内容技能市场详解:ClawHub市场核心技能分类(办公、学习、开发、生活),热门技能推荐(web-search、文件处理、邮件管理)[superscript:3][superscript:4]。技能安装与卸载:终端命令实操(openclaw skill install/uninstall),技能更新与版本管理[superscript:3]。

从零开始,掌握网络安全。提供全面的网络安全教程、攻防演练技巧和行业动态。 1758

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

今天将最短路

m0_69478376的博客 533

某手短视频用户主页视频列表爬虫实战:从原理到完整实现

随着短视频平台的迅猛发展,某手(为保护平台隐私,本文以“某手”代指实际目标)已经成为国内最大的短视频社交平台之一,拥有数亿日活用户。对于数据分析师、内容创作者和市场营销人员而言,获取某个用户主页的视频列表具有重要的研究价值——无论是分析头部创作者的内容策略,还是监测竞品的发布频率与互动数据,爬虫技术都成为不可或缺的工具。然而,在2024-2025年的技术环境下,某手已经构建了多层次的反爬机制:包括接口签名加密、请求参数动态混淆、设备指纹检测、IP行为分析以及Web端无限滚动加载的异步数据获取方式。

2201_76125261的博客 540

POJ 3268 Silver Cow Party (Dijkstra算法)

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

Interstellar_的博客 330

QGis软件 —— 2、QGis加载在线地图两种方式(谷歌地图、天地图)

QGis软件 —— 2、QGis加载在线地图两种方式(谷歌地图)

1万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

poj 3268一道最短路径题

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

Yonggie的博客 684

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

最短路POJ 3268

POJ 3268题目大意如下: 有N头牛分布在N个农场,现在有一头X农场的牛要举办party,那么其他农场的牛都会去参加。其中N最大为1000,农场和农场之间存在一些单向路径,路径的条数M最大为100000。如果每头牛都走最短路径(算上来回,也就是从它的农场到X农场,再从X农场回到自己农场),那么这些最短路径中最长的路径是多少? 这里涉及到的是任意两点间的最短路径, 1)一开始想到的是war

kornberg_fresnel的博客 663

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

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

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

POJ 3268 最短路水题

POJ3268 题意:给了一个有向图,和一个地点A,每个点都有头牛都想去A点,玩好后在从A点回到家(之前的点)。 问:每头牛都走最近的路,哪头牛走的最远,路程是多少。 思路:裸体,想清楚就行,开始一个反向建图求A到每个点的最短路,再正常建图求A到每个点的最短路,然后对应的相加,找个最大值 迪杰斯特拉+邻接表+优先队列优化 #include <iostream&gt...

weixin_30436101的博客 157

D - Silver Cow Party POJ - 3268——————最短路+思维(两遍单元最短路)

题目连接 https://vjudge.net/contest/313997#problem/D 大体思路: 这个题用floyd 会T的 所以就要 顺这跑一边最短路, 逆着跑一边最短路 详细思路+代码 /****** 题目要求: 是 询问 最快来回一趟, 耗时最大的那头牛所用的时间 两边单源最短路就行 ①首先可以求出 从聚会点返回到牛棚的最短路径【这个你们都会】 ②从牛棚去的时候的最短路径就是...

T.J的博客 249

POJ 3268 Silver Cow Party(双向最短路)

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 total of M (1 ≤

nudt_oys的博客 628

【POJ 3268 --- Silver Cow Party】dijsktra,最短路

【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 part...

来日浅谈的博客 663

poj 3268 Silver Cow Party(最短路)

poj 3268 Silver Cow PartyDescription 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

总有那么一群人喜欢盯着我的博客看,估计这是他们见过最长的博客名,我必须得告诉他们博客名最长可以写多长 1618

POJ3268 - Silver Cow Party(最短路)

Silver Cow Party POJ - 3268One 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)...

qq_16530503的博客 237

POJ 3268 Silver Cow Party dijkstra最短路

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

EP的别三日 220

POJ_3268 Silver Cow Party 【最短路】

一、题面 POJ3268 二、分析 该题的意思就是给定了一个由每个节点代表农场的有向图,选定一个农场X办party,其余农场的都要去,每个农场的cow都走最短路,走的时间最久的cow耗时多少。 了解题意后,最开始想的是直接用floyd,但是复杂度已经到10的9次方了。这题比较特殊的一点就是无论是回来还是去都与X这个点有关,所以,当我们思考去求X到其他点的最短路径时,即根据输入的图求,其实就...

weixin_30699465的博客 112

POJ-3268 Silver Cow Party (Dijkstra求有向图最短路)

Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 19722 Accepted: 9022 DescriptionOne cow from each of N farms (1 ≤ N ≤ 1000) conveniently numbered 1..N is going to attend the bi

=_= 682

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 total of M (1 ≤ M ≤ 100,000) unidirectional (one-way roads connects pairs of farms; road i require

yulong_D的博客 234

【题解】Silver Cow Party POJ - 3268 (Dijkstra 多源最短路)⭐⭐⭐

Silver Cow Party POJ - 3268 给出n个点和m条边,接着是m条边,代表从牛a到牛b需要花费c时间,现在所有牛要到牛x那里去参加聚会,并且所有牛参加聚会后还要回来,给你牛x,除了牛x之外的牛,他们都有一个参加聚会并且回来的最短时间,从这些最短时间里找出一个最大值输出 Input Line 1: Three space-separated integers, respect...

Suprit's blog 889

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

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

Zoran的博客 339

POJ-3268 题解 最短路

POJ-3268 题解 Silver Cow Party 题目大意 有向图最短路(来回) 终点固定,起点任意 求最长的最短路 Time: 2000 ms Memory: 65536kB 解题思路及分析 可以看成是起点固定,重点任意 两趟最短路,均从x开始,其中有一次反过来建图 然后循环遍历数组,找最大值 AC代码 #include <iostream> #include <queue> #include <functional> #include <c.

CapriceH的博客 413
上一篇: 基础最短路三 POJ 1797
下一篇: 基础最短路五 POJ1860
仰天倀笑
博客等级 码龄10年 313粉丝 124原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值