hdu1874 Dijkstra(堆优化)+floyd

图论专题HDU-1874 畅通工程续 图论专题 J-畅通工程 题面 某省自从实行了很多年的畅通工程计划后,终于修建了很多路。不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多。这让行人很困扰。 现在,已知起点和终点,请你计算出要从起点到终点,最短需要行走多少距离。 Input 本题目包含多组数据,请处理到文件结束。 每组数据第一行包含两个正整数N和M(0<N&... 阅读详情
//感谢jianshen
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstdlib>
#include <queue>
#include <cstring>
#include <utility>
#define MAXN 2510
#define MAXM 6210

using namespace std;
int n,m,s,t;
typedef pair<int ,int> PII;
struct edge {
	int v, w;
	edge *next;
	void add(int y, int z, edge *&head){ v = y; w = z; next = head; head = this; }
}Te[MAXM*2],*Pe=Te,*head[MAXN*2];

void add_edge(int x, int y, int z) {
	Pe++->add(y, z, head[x]);
}

int dist[MAXN];
bool visit[MAXN];

void dijkstra(int x) {
	priority_queue<PII>q;
	while (!q.empty()) q.pop();
	memset(dist, 0x3f, sizeof(dist));
	memset(visit, 0, sizeof(visit));
	dist[x] = 0;

	q.push(make_pair(0, x));
	while (!q.empty()) {
		while (!q.empty() && visit[q.top().second]) q.pop();
		if (q.empty()) break;
		PII t = q.top(); q.pop();
		int i = t.second;
		dist[i] = -t.first;
		visit[i]=true;
		for (edge *p = head[i]; p; p = p->next)
			if (!visit[p->v]) q.push(make_pair(-(dist[i] + p->w), p->v));
	}
}
void init()
{
     memset(head, 0, sizeof(head));
     Pe=Te;
	for(int i=1;i<=m;i++)
	{
		int x,y,z;
		scanf("%d%d%d",&x,&y,&z);
		add_edge(x,y,z);
        add_edge(y,x,z);
	}
    scanf("%d%d",&s,&t);
}
int main()
{
    while(scanf("%d%d",&n,&m)==2){
        init();
        if(s==t){cout<<0<<endl;continue;}
        dijkstra(s);
        cout<<(dist[t]==0x3f3f3f3f?-1:dist[t])<<endl;
    }
}

floyd

#include <cstdio>
#include <cstring>
#include <algorithm>
#include <iostream>
using namespace std;
const int MAXN = 555;
int f[MAXN][MAXN], s, t, n, m;
int main()
{
    while (~scanf("%d%d", &n, &m))
    {
        memset(f, 0x3f, sizeof(f));
        int tmp=f[1][1];
        for (int i = 1; i <= m; i++)
        {
            int u, v, w;
            scanf("%d%d%d", &u, &v, &w);
            ++u; ++v;//注意下标位置
            //printf("Add %d %d %d\n", u, v, w);
            f[u][v] = f[v][u] = min(w, f[u][v]);//邻接矩阵,重边= =
        }
        scanf("%d%d", &s, &t);
        if(s == t) {//特判
            cout<<0<<endl;
            continue;
        }
        for (int k = 1; k <= n; k++)
            for (int i = 1; i <= n; i++)
                for (int j = 1; j <= n; j++)
                    if (f[i][j] > f[i][k] + f[k][j])
                        f[i][j] = f[i][k] + f[k][j];
        printf("%d\n", f[s + 1][t + 1]==tmp?-1:f[s+1][t+1]);
    }
    return 0;
}


Workbench下列车转向架随机振动疲劳分析 结果中添加功率谱响应工具(Response PSD Tool),可以查看几何体以及远程点上的功率谱密度,如下图11所示,这里查看几何体上某一硬点的加速度功率谱密度响应曲线,如下图12所示。结果中添加疲劳工具(Fatigue Tool),查看列车转向架的疲劳寿命情况,这里采用窄带的寿命假设理论,曝光时间为1s指明计算出的疲劳寿命的基本单位是秒,寿命结果如下图14所示,可以看到最大寿命为1e35s,最小寿命为2.3542e18s,注意单位制,可再次基础上将其转换为小时或天。频域上的统计计算,软件很快计算完成。 阅读详情

相关推荐

面向多目标跟踪的数据关联方法研究综述

摘要:多目标跟踪技术在军事和民用领域具有广泛应用,其核心挑战在于数据关联问题。本文系统梳理了数据关联的主要解决方法,首次将经典算法分为确定性关联和概率性关联两大类。确定性关联(如NNDA、GNN、MHT)采用"硬分配"策略,计算效率高但易受噪声干扰;概率性关联(如PDA、JPDA、PMHT)通过"软分配"处理不确定性,更适合复杂场景。文章详细分析了各类算法的原理、适用条件和优缺点,并探讨了智能学习等新兴技术在视觉跟踪等领域的应用。研究指出,尽管随机集滤波等新方法出现,

qq_43416206的博客 1139

最短路模板[spfa][dijkstra+堆优化][floyd]

借bzoj1624练了一下模板(虽然正解只是floyd) spfa: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

奋斗de穷小子 556

《AI应用架构师必学:企业AI能力地图构建的高级技巧》

企业AI能力地图,简单来说,是一种可视化工具,它展示了企业在AI领域所具备的各种能力及其相互关系。就如同城市地图展示城市的街道、建筑和设施一样,AI能力地图呈现了企业在数据处理、模型开发、算法应用等多个方面的能力布局。

AGI×大数据,开启智能时代的认知跃迁;解码AGI,赋能数据驱动的智能革命。 818

堆优化Dijkstra 模版

#include <cstdio> #include <algorithm> using namespace std; const int inf=1000000000; int n,m,top,idx,s; int to[2000001],next[2000001],len[2000001],head[100001], h[131073],pos[100001],d[100001]; bo

A.E.Lv的博客 986

阿里云网络架构设计

背景 一个企业上云,首先要考虑整个网络的规划,涉及到云上和云下的网络规划,云上VPC的规划,云上不同地域VPC的互通,云上可用区的选择等等,所以一定要提前规划好整体的网络架构,现在阿里云云上的虚拟化网络解决方案已经完全转向 了云企业网,所以所有使用阿里云的企业客户多多少少都会使用阿里云的CEN 支撑自己的业务。 云企业网介绍 云企业网(Cloud Enterprise Network)是承载在阿里云提供的高性能、低延迟的私有全球网络上的一张高可用网络。 IDC专线接入CEN 首先面临的是云上和云下打通,那么

修电脑的码农 4837

cvtColor +内存泄漏

题目不知道怎么取,因为cvtColor并没有产生内存泄漏,但是我由于没有正确使用cvtColor而出现了内存泄漏的问题,所以暂且以cvtColor+内存泄漏为题 1.应用背景 项目中用到cvtColor的地方是需要将灰度图转为3通道的彩色图(实际上转换后仍然为灰色的,但是电脑认为的是3通道的彩色图了) 因此需要用到以下语句 cvtColor(src_img, cvMtxRGB, C

smilebluesky的专栏 6056

HDU-3790 最短路径问题(两个权值,Dijkstra,(含堆优化))

给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花费最少的。Input 输入n,m,点的编号是1~n,然后是m行,每行4个数 a,b,d,p,表示a和b之间有一条边,且其长度为d,花费为p。最后一行是两个数 s,t;起点s,终点。n和m为0时输入结束。 (1#include<cstdio> #include<

henuzxy 745

Endnote 导入参考文献的时候,格式错误太多了。et.al错误,国标GBT7714在endnote中的详细配置教程,适用于本科,硕士论文文献插入的模板

EndNote插入文献常遇到以下错误主要如下: 等、et al不分; 英文作者全名大写; 期刊名字使用了缩写(图片里没有体现;卷号、期号缺失时出现乱码,多了半个括号;页码范围略去了相同部分;没有悬挂缩进,本文全部解决,全网最细

sakura的博客 3万+

HDU_1874-畅通工程续 Dijkstra模板(链式向前星 + pair堆优化) + Spfa模板

题目链接 畅通工程续 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 72085 Accepted Submission(s): 27916 Problem Description 某省自从实行了很多年的畅通工程计划后,终于修建了很...

Harukaze 492

编程语言的未来走向:趋势、挑战与机遇

同时,鼓励他们接触和掌握一些专业领域的开发工具和技术框架,比如Web开发中的JavaScript、React.js,数据分析的Python(Pandas, NumPy, Matplotlib等),以及人工智能和机器学习领域的TensorFlow、PyTorch等。当前,全球范围内正积极推动编程教育的普及化,从儿童启蒙阶段到高等教育阶段,乃至终身学习的过程中,如何优化编程语言的教学方法、提高教学质量,并将其广泛应用于不同领域,是教育者与政策制定者面临的重大课题。未来,编程语言的多样化和包容性将会继续加强。

zrc_xiaoguo的博客 1826

YOLOv11改进策略【Neck】| SEAM:分离和增强注意模块,解决复杂场景下的小目标遮挡问题

本文记录的是利用 SEAM 模块优化 YOLOv11 的目标检测网络模型。的设计出发点在于解决复杂场景下的人脸遮挡问题,相当于是小目标被其他物体部分遮挡时,传统方法因特征缺失导致检测精度下降的问题。该模块通过增强未遮挡区域的特征响应并补偿被遮挡区域的信息损失,提升模型对遮挡小目标的检测能力。YOLO-FaceV2: A Scale and Occlusion Aware Face DetectorSEAM模块(Separated and Enhancement Attention Module)的设计出发点

Limiiiing的博客 2280

HDU1874(最短路+dijkstra+堆优化)

解题报告:同O(n2)O(n^2)O(n2)算法类似,不过用邻接表存图在松弛的时候优化了遍历不相邻点的复杂度,在查询当前最短径的时候直接用小根堆弹出,复杂度从O(n)O(n)O(n)降到O(logE)O(logE)O(logE)。 Code: #include <stdio.h> #include <iostream> #include <queue> #inc...

小胡同的诗 271

「UG/NX」BlockUI 树列表(回调函数)

官方对树控件提供了21种回调函数,树的一些操作可以在这些回调函数中进行操作。

何曾参静谧的博客 1326

多源最短路模板——hdu1874:畅通工程续(使用dijkstra、bellman-ford、spfa、dijkstra+堆优化)

题目传送门 hdu1874:畅通工程续 解题思路 这题因为数据量比较小,可以使用多种最短路算法来解决,是一道经典的模板题,下面附上floyd算法、dijkstra算法、Bellman-Ford 、spfa算法、以及dijkstra + heap优化的代码。 坑点:这题可能一个城市到另一个城市有多条路径,我们记录的时候,要记录最小的那条路径,不能记录最后的那条路径,解其他题目的时候也要注意。以及,...

Code杂货店 2179

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

HDU1874最短路径(dijkstra,Bellman-Ford,Floyd-Warshall算法不同版本合集)

Problem Description 某省自从实行了很多年的畅通工程计划后,终于修建了很多路。不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多。这让行人很困扰。 现在,已知起点和终点,请你计算出要从起点到终点,最短需要行走多少距离。 Input 本题目包含多组数据,请处理到文件结束。 每组数据第一行包含两个正整数N和M(0<N<200,0<M<1000),分别代表现有城镇的数目和已修建的道路的数目。.

salmonwilliam的博客 713

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

HDU 1874 畅通工程续 (Dijkstra , Floyd , SPFA, Bellman_Ford 四种算法)

畅通工程续 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1874 Problem Description 某省自从实行了很多年的畅通工程计划后,终于修建了很多路。不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多。这让行人很困扰。现在,已知起点和终点,请你计算出要从起

坚持不懈 432

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

HDU-1874【最短路的算法Dijkstra和SPFA(链式前向星)】

最短路径问题 引言: 最短路大家都不陌生吧,他可以是两点之间的最短路(Floyd),也可以是单源最短路,即一个点到其他点的最短距离(Dijkstra和SPFA)。Floyd对于n个顶点(n>100)的图,就会T,所以我们经常用后面两种算法。 相关题目: HDU-1874:畅通工程续 这道题吧,随便一种方法都能过…很神奇。 接下来是三种方法解这道题: 1.Floyd: for(int k=0...

tran_sient的博客 426

hdu 1874 畅通工程续(求最短距离,dijkstra,floyd)

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1874 /************************************************************************/ /* hdu 畅通工程续 dijkstra求起始点到目标点最短距离 题目大意...

weixin_33738982的博客 87

acm-hdu1874解题报告

题目网址:http://acm.hdu.edu.cn/showproblem.php?pid=1874 题目大意:图求最短路问题 解题思想:五行算法,Dij,SPFA 代码: //Floyd n^3 原版 #include #include #include using namespace std; const int inf = 100000000; int map

向大神努力的菜鸟 347

HDU 1874 (最短路)Floyd-->>Dijk…

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1874 这题比较基础,拿来练各种刚学会的算法比较好,可以避免好多陷阱,典型的最短路模板题   第一种解法:Floyd算法   算法实现: 使用一个邻接矩阵存储边权值,两两之间能访问的必为一个有限的数,不能访问则为无穷大(用2^29代替)。注意自身和自身距离为0。 对于一对顶点 u 和 v,看看是否存在

算法之道 621

hdu1874:畅通工程续(单源最短路模板)

作者:血小板自动机 链接:https://blog.dalao.icu/archives/8.html 题目传送门 hdu1874:畅通工程续 解题思路 这题因为数据量比较小,可以使用多种最短路算法来解决,是一道经典的模板题,下面附上 floyd 算法、dijkstra 算法、Bellman-Ford 、spfa 算法、以及 dijkstra + heap 优化的代码。 坑点:这题可能一个城市到另一个城市有多条路径,我们记录的时候,要记录最小的那条路径,不能记录最后的那条路径,解其他题目的时

默的博客 409

hdu1874畅通工程续

http://acm.hdu.edu.cn/showproblem.php?pid=1874 floyd: 62MS View Code 1 #include<iostream> 2 using namespace std ; 3 #define maxn 210 4 const int oo = 1<<28 ; 5 int map[maxn]...

weixin_33858249的博客 78

HDU1874:畅通工程续(最短路Dijkstra(n^2+nlogn)+Floyd+SPFA(堆栈+队列))

Problem Description 某省自从实行了很多年的畅通工程计划后,终于修建了很多路。不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多。这让行人很困扰。 现在,已知起点和终点,请你计算出要从起点到终点,最短需要行走多少距离。   Input 本题目包含多组数据,请处理到文件结束。 每组数据第一行包

ACM!荣耀之路! 5061

HDU-#1874 畅通工程续(Dijkstra、Floyd、SPFA)

题目大意: 解题思路: 题目来源:

VoidSun 474

hdu 1874 畅通工程续 floyd

某省自从实行了很多年的畅通工程计划后,终于修建了很多路。不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多。这让行人很困扰。 现在,已知起点和终点,请你计算出要从起点到终点,最短需要行走多少距离。 Input 本题目包含多组数据,请处理到文件结束。 每组数据第一行包含两个正整数N和M(0#include<stdio.h>

爱梦者的心之旅 558

最短路(Dijkstra, Floyd)

Part I:Floyd (1):先讲Floyd这是最短路算法里O(n^3)的算法,也是最容易理解的 (2):先定义一个邻接矩阵int s[5][5] 共有两个下标 这里定义i,j 定义无穷=inf map: (3):数据输入: map: 由这个图可以知道s[1][2]=1 s[1][3]=5 s[2][3]=2 s[2][4]=6 s[3][4]=7 s[3][5]=1 s[4][3...

yangzijiangac的博客 166
上一篇: sgu183 Painting the balls_dp
下一篇: poj1258Agri Net Kruskal+prim
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值