UVALive 6885 Flowery Trails 最短路枚举

题目连接:

  http://acm.hust.edu.cn/vjudge/problem/visitOriginUrl.action?id=129723

题意:

  给你一个n点m图的边

  1到n有多条最短路,问你所有经过的边的总和*2是多少

题解:

  对1,n分别求单源最短路径上spfa

  枚举某条边是否为最短上的边

   即 边权+disA[i] + disB[i] = 最短路长度,就是答案

#include<bits/stdc++.h>
using namespace std;
const int N = 1e6+20, M = 1e6+10, mod = 1e9+7, inf = 1e9+1000;
typedef long long ll;int head[N],t,vis[N],dis[N],n,m,disA[N],disB[N];
struct edge{int to,value,next;}e[N*2];void add(int u,int v,int w) {e[t].next=head[u],e[t].to=v,e[t].value=w;head[u]=t++;}void init(){t = 0;memset(head,-1,sizeof(head));
}void spfa(int u) {for(int i=1;i<=n;i++) dis[i] = inf, vis[i] = 0;vis[1] = 1;dis[u] = 0;queue<int> q;q.push(u);while(!q.empty()) {int k = q.front();q.pop();vis[k] = 0;for(int i=head[k];i!=-1;i=e[i].next) {int to = e[i].to;if(dis[k] + e[i].value < dis[to]) {dis[to] = dis[k] + e[i].value;if(!vis[to]) {q.push(to);vis[to] = 1;}}}}
}
int main() {while(~scanf("%d%d",&n,&m)) {init();for(int i=1;i<=m;i++) {int a,b,c;scanf("%d%d%d",&a,&b,&c);a++,b++;add(a,b,c);add(b,a,c);}spfa(1);for(int i=1;i<=n;i++) disA[i] = dis[i];spfa(n);for(int i=1;i<=n;i++) disB[i] = dis[i];int mx = dis[1];ll ans = 0;for(int i=1;i<=n;i++) {for(int j=head[i];j!=-1;j=e[j].next) {int to = e[j].to;int value = e[j].value;if(disA[i] + disB[to] + value == mx) ans+=value;}}printf("%lld\n",2ll*ans);}
}

 

转载于:https://www.cnblogs.com/zxhl/p/5674847.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/490319.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

git撤销git commit

git reset --soft HEAD^ 这样就成功的撤销了上一次的commit 注意&#xff0c;仅仅是撤回commit操作&#xff0c;写的代码仍然保留。 如果想要连着add也撤销的话&#xff0c;--soft改为--hard&#xff0c;但注意&#xff1a;这样会删除工作空间的改动过代码&#xff01;&…

简要说明建设城市大脑三条关键标准规范

作者&#xff1a;刘锋 前言&#xff1a;简要的说&#xff0c;城市大脑不是一个城市级AI信息系统&#xff0c;也不是城市内部的信息化建设&#xff0c;而是互联网结构从网状模型向大脑模型进化时&#xff0c;与城市建设结合的产物&#xff0c;因此建设城市大脑需要拥有三个特征…

python 连通区域_python skimage 连通性区域检测方法

python skimage 连通性区域检测方法涉及到的函数为import matplotlib.pyplot as pltfrom skimage import measure, colorlabels measure.label(img4[:,:,0], connectivity2)dst color.label2rgb(labels)plt.imshow(dst)labels为整个灰度图像的坐标的类别标签&#xff0c;值为…

git恢复删除前的版本

有时候我们想撤销上一次提交&#xff0c;于是执行git reset --soft HEAD^&#xff0c;这样就成功的删除了你上一次的commit。但有时候发现不小心撤销错了&#xff0c;想把刚刚的撤销给撤回&#xff1a; 方法&#xff1a;首先执行git reflog 这时会显示刚刚各个操作&#xff0…

NLP模型超越人类水平?你可能碰到了大忽悠

大数据文摘出品来源&#xff1a;thegradient编译&#xff1a;张睿毅、武帅、钱天培一个军方训练的神经网络声称可以分类图像中的坦克&#xff0c;但实际上&#xff0c;它只是学会了识别不同的亮度&#xff0c;因为一种类型的坦克仅出现在明亮的图片中&#xff0c;而另一种类型仅…

JavaScript跳转到页面某个锚点#

JavaScript跳转到页面某个锚点&#xff1a; scroll(0, document.getElementById(锚点ID).offsetTop); 转载于:https://www.cnblogs.com/52php/p/5677836.html

伸缩杆怎么缩回去图解_没有阳台怎么晾衣服?这10个神器,让家里衣物晾晒更轻松方便...

没有阳台怎么晾衣服&#xff1f;这10个神器&#xff0c;让家里衣物晾晒更轻松方便&#xff01;衣物晾晒是居家生活的必要环节&#xff0c;每个家庭在洗完衣物后都有自己的晾晒方式&#xff0c;但多数家庭会选择在阳台里进行。然而&#xff0c;对于没有阳台的家庭来说&#xff0…

小脑过度活跃,会引起整个大脑的问题

来源&#xff1a;中国生物技术网 9月10日&#xff0c;发表在《Cell Reports》的一项研究中&#xff0c;来自日本京都大学的研究团队发现小脑中的免疫活性诱导动物的神经元过度兴奋&#xff0c;干扰了精神运动行为。位于颅骨下背部的小脑&#xff0c;在调节诸如平衡、运动学习和…

Kubernetes(K8S)快速入门

概述 在本门课程中&#xff0c;我们将会学习K8S一些非常重要和核心概念&#xff0c;已经操作这些核心概念对应组件的相关命令和方式。比如Deploy部署&#xff0c;Pod容器&#xff0c;调度器&#xff0c;Service服务&#xff0c;Node集群节点&#xff0c;Helm包管理器等等。 在…

TLB简介

TLB - translation lookaside buffer 快表&#xff0c;直译为旁路快表缓冲&#xff0c;也可以理解为页表缓冲&#xff0c;地址变换高速缓存。 由于页表存放在主存中&#xff0c;因此程序每次访存至少需要两次&#xff1a;一次访存获取物理地址&#xff0c;第二次访存才获得数…

python matplotlib数据可视化_Python - matplotlib 数据可视化

2 图和子图的建立2.1 导入matplotlibimport matplotlib.pyplot as pltimport numpy as np2.2 建立图和子图方式一plt.plot( )会在最近的一个图上进行绘制from numpy.random import randnfig plt.figure(figsize (8,4)) #设置图的大小ax1 fig.add_subplot(2,2,1)ax2 fig.…

学会怎样使用Jsp 内置标签、jstl标签库及自定义标签

学习jsp不得不学习jsp标签&#xff0c;一般来说&#xff0c;对于一个jsp开发者&#xff0c;可以理解为jsp页面中出现的java代码越少&#xff0c;对jsp的掌握就越好&#xff0c;而替换掉java代码的重要方式就是使用jsp标签。 jsp标签的分类&#xff1a;1&#xff09;内置标签&am…

没有精准定位,万物还能实现互联吗?

来源&#xff1a;CSDN万物皆备&#xff0c;静待互联。这是一个万物都被赋予「生命」的时代&#xff0c;从人工流水线到工业自动化&#xff1b;从相互独立的设备到实时可监测相连的家居智能化&#xff1b;从汽车的复杂操作到自动驾驶的无人化......探索其真谛&#xff0c;实则科…

IO密集型 CPU密集型 多线程 多进程

IO密集型可以多线程。比如有一个任务&#xff0c;执行10万次循环&#xff0c;每次都打印hello world&#xff0c;然后休眠1秒&#xff0c;如果单线程&#xff0c;需要10万秒完成&#xff0c;如果10个线程&#xff0c;就只需要1万秒。 CPU密集型尽量少点线程。还是上面那个任务…

python selenium模拟键盘_SELENIUM自动化模拟键盘快捷键操作实现解析

这篇文章主要介绍了SELENIUM自动化模拟键盘快捷键操作实现解析,文中通过示例代码介绍的非常详细&#xff0c;对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下平常我们会用到很多快捷键&#xff0c;那么selenium如何来模拟快捷键操作呢。下面看看下常用快捷键…

log4net保存到数据库系列二:独立配置文件中配置log4net

园子里面有很多关于log4net保存到数据库的帖子,但是要动手操作还是比较不易&#xff0c;从头开始学习log4net数据库日志一、WebConfig中配置log4net 一、WebConfig中配置log4net二、独立配置文件中配置log4net三、代码中xml配置log4net四、完整代码配置log4net五、新增数据库字…

科学界5个终极难题,如果有一个被解决,人类文明将升级

来源&#xff1a;科学杂志 纵观人类发展历史&#xff0c;似乎每到了一定的阶段学术界就会有重大难题出现&#xff0c;例如人类的起源问题。为此有科学家总结出了人类历史上五大终极难题&#xff0c;如果有一个问题被解决的话&#xff0c;那么人类文明会实现质的飞跃。在人类文明…

php调用无参数函数可以传入参数

假设有一个无参数函数&#xff0c;那么调用这个函数时即使传入参数也不会报错 <?php function printv(){echo "hello"; }$i55; printv($i); ?>

判断三个数是否能构成三角形_三角形的面积

问题描述&#xff1a;输入三角形三边长a,b,c(保证能构成三角形)&#xff0c;输出三角形面积。输入&#xff1a;一行三个用一个空格隔开的实数a,b,c&#xff0c;表示三角形的三条边长。输出&#xff1a;输出三角形的面积&#xff0c;答案保留四位小数。样例输入3 4 5&#xff0c…

联合国2019数字经济报告

来源 &#xff1a; 数据观近日&#xff0c;联合国发布了《2019年数字经济报告》&#xff08;以下简称《报告》&#xff09;。报告指出&#xff0c;全球数字经济活动及其创造的财富增长迅速&#xff0c;且高度集中在美国和中国。《报告》称&#xff0c;美国和中国目前占有超过75…