[USACO06NOV]Roadblocks G /次短路模板

只需要在最短路的基础上改亿改就可以了
两个数组
(dis1[])存储最短路
(dis2[])存储次短路

次短路分三种情况

  • 可以更新最短路,次短路继承更新前的最短路,然后更新最短路(原因很简单,因为目前的最短路可以更新说明这不是最短路,但可能是此次短路
  • 不能更新最短路,但可以更新次短路,但更新次短路的条件一定满足不小于最短路
  • 都不能更新(废话
#include<cstdio>
#include<cstring>
#include<iostream>
#include<queue>
#include<algorithm>

using namespace std;
const int maxn=1e5+10;
int n,m,cnt=0;
int head[maxn<<1]; struct node{ int v,next,w; }e[maxn<<1]; void add(int u,int v,int w){ 链式前向星 e[++cnt].v="v;" e[cnt].w="w;" e[cnt].next="head[u];" head[u]="cnt;" } dis1[maxn]; dis2[maxn]; dj(){ memset(dis1,0x3f,sizeof(dis1)); 初始化 memset(dis2,0x3f,sizeof(dis2)); dis1[1]="0;" priority_queue<pair<int,int> >q;
    q.push(make_pair(-dis1[1],1));
    while(!q.empty()){
        int u=q.top().second,dis=-q.top().first;
        q.pop();
        for(int i=head[u];i;i=e[i].next){
            int v=e[i].v,w=e[i].w;
            if(dis1[v]>dis+w){//&#x66F4;&#x65B0;&#x6700;&#x77ED;&#x8DEF;
                dis2[v]=dis1[v];//&#x66F4;&#x65B0;&#x6B21;&#x77ED;&#x8DEF;
                dis1[v]=dis+w;//&#x66F4;&#x65B0;&#x6700;&#x77ED;&#x8DEF;
                q.push(make_pair(-dis1[v],v));
            }
            if(dis2[v]>dis+w && dis+w>dis1[v]){//&#x66F4;&#x65B0;&#x6700;&#x77ED;&#x8DEF;
                dis2[v]=dis+w;
                q.push(make_pair(-dis2[v],v));
            }
        }
    }
}
int main(){
    cin>>n>>m;
    for(int i=1;i<=m;++i){ int u,v,w; cin>>u>>v>>w;
        add(u,v,w);add(v,u,w);
    }
    dj();
    cout<<dis2[n]<<endl; return 0; } < code></dis2[n]<<endl;></=m;++i){></1];></algorithm></queue></iostream></cstring></cstdio>

ZFY AK IOI

Original: https://www.cnblogs.com/guiyou/p/15171840.html
Author: 归游
Title: [USACO06NOV]Roadblocks G /次短路模板

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/584606/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 关于 auto 使用的一个小细节

    从output可以看出,auto 自动推导了 A t = _A.get_class(),故调用了class A的拷贝构造函数 可以看出 auto& 推导出了 A& …

    数据结构和算法 2023年6月7日
    072
  • Home Assistant中接入博联WiFi智能遥控

    想要在Home Assistant中通过智能遥控发送红外信号控制空调需有两个步骤:一、智能遥控接入Home Assistant;二、Home Assistant将红外信号数据发往智…

    数据结构和算法 2023年6月7日
    0171
  • 类加载过程

    类加载过程本质上就是类加载器根据类的全限定名称去找到对应的class字节码文件内容,然后将字节码文件的内容加载到虚拟机方法区中的过程。所以我们大体上可以把类加载的过程分为三部分:1…

    数据结构和算法 2023年6月8日
    0101
  • 随笔4

    一份满意的答卷 终究是意难平。 高三莘莘学子寒窗苦读9年,为的就是高考这重要一刻。发挥超常光宗耀祖,各大名校挤破门槛争着抢夺你;落榜了垂头丧气,回家还要忍受各种七大姑八大姨的亲切问…

    数据结构和算法 2023年6月7日
    088
  • 题解0015:【模板】最小生成树-uf0_金币灰黄

    题目链接: https://www.luogu.com.cn/problem/P3366 题目描述:给出一个无向图,求出最小生成树,如果该图不连通,则输出 orz &#x3…

    数据结构和算法 2023年6月12日
    081
  • 稀疏数组转换思路及代码实现

    基本功能 当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用 稀疏数组来保存该数组。 处理方法 记录数组 一共有几行几列,有多少个 不同的值 把具有不同值的元素的行列及值…

    数据结构和算法 2023年6月12日
    079
  • 06. 插值算法

    posted @2022-09-01 15:24 JamesNULLiu 阅读(15 ) 评论() 编辑 Original: https://www.cnblogs.com/jam…

    数据结构和算法 2023年6月12日
    0115
  • 567.字符串中的排列

    滑动窗口 给你两个字符串 s1 和 s2 ,写一个函数来判断 s2 是否包含 s1 的排列。如果是,返回 true ;否则,返回 false 。 换句话说,s1 的排列之一是 s2…

    数据结构和算法 2023年6月8日
    0124
  • C++ 初识函数模板

    1. 前言 什么是函数模板? 理解什么是函数模板,须先搞清楚为什么需要函数模板。 如果现在有一个需求,要求编写一个求 2 个数字中最小数字的函数,这 2 个数字可以是 int类型,…

    数据结构和算法 2023年6月7日
    074
  • 写在进队之后

    CCF NOI 还没有发今年的题面,我只好把补题计划向后推迟。虽然我记得每道题目具体在讲什么,也不是不能补题,但我打算做些更有意义的。 从发榜到现在已经过去了 28 个小时,我整个…

    数据结构和算法 2023年6月12日
    058
  • 算法竞赛进阶指南 0x68 二分图的匹配

    相关概念 对于一个 无向图,节点的数 N>=2,如果节点可以划分为两个非空集合A,B 满足 A与B的交集为空 同一集合中的点没有边相连 A,B分别叫 左部 , 右部 二分图的…

    数据结构和算法 2023年6月12日
    084
  • JAVA集合专题之深入学习

    1.背景 集合虽然用起来非常简单… 但是面试确问得很多,很深…. 最重要的是集合的设计里面使用了大量的非常典型的多线程设计… 如果能把集合中的源…

    数据结构和算法 2023年6月12日
    072
  • 《我是面试官》设计模式-单例模式

    设计模式-单例模式 《巫师3》中,陪着主人公南征北战的坐骑,不管你何时何地召唤它,它永远只有一个名字——萝卜。 大家好,我是左耳朵梵高。文章首发于微信公众号「左耳朵梵高」,欢迎关注…

    数据结构和算法 2023年6月7日
    078
  • java IO流体系–通识篇

    1.I/O流是什么 Java的I/O流是实现编程语言的输入/输出的基础能力,操作的对象有外部设备、存储设备、网络连接等等,是所有服务器端的编程语言都应该具备的基础能力。 I = I…

    数据结构和算法 2023年6月16日
    0149
  • 【游记】CSP 2021 J2

    这次是第一次参加CSP的复赛,所以考的就很LJ。 (DAY-\infty) 到 (DAY-14) 知道了自己苟过了初赛,像个SB一样。(我初赛66分,旁边那位63.5,cao着线过…

    数据结构和算法 2023年6月8日
    083
  • 「学习笔记」树链剖分

    「学习笔记」树链剖分 点击查看目录 「学习笔记」树链剖分 树链剖分 算法 实现 例题 思路 代码 练习题 染色 思路 代码 QTREE 思路 代码 [HAOI2015]树上操作 思…

    数据结构和算法 2023年6月8日
    0129
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球