题目连接:

  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

UVALive 6885 Flowery Trails 最短路枚举相关推荐

  1. POJ #1062 昂贵的聘礼 有限制的最短路 枚举+dijkstra求最短路

    Description 年轻的探险家来到了一个印第安部落里.在那里他和酋长的女儿相爱了,于是便向酋长去求亲.酋长要他用10000个金币作为聘礼才答应把女儿嫁给他.探险家拿不出这么多金币,便请求酋长降低 ...

  2. hdu 2363(最短路+枚举)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2363 思路:和之前hdu上做过的一题很像...就是先求求出所有的高度差,排序后枚举,每次都一次spfa ...

  3. 洛谷P2939 [USACO09FEB]改造路Revamping Trails(最短路)

    题目描述 Farmer John dutifully checks on the cows every day. He traverses some of the M (1 <= M <= ...

  4. codeforces144——D. Missile Silos(最短路+枚举)

    codeforces144--D. Missile Silos 原题链接 题意: 给定一个n点m边的无向图,给定起点,求和起点最短距离为l的点有多少个(可以是点也可以在边上) 思路: 首先求一遍最短路 ...

  5. adb native raact 夜神_React Native 与 夜神模拟器的绑定

    之前一直用真机去调试, 每回更新一次都需要手动摇晃手机后才能reload JS, OMG,太麻烦了. 后来寻思模拟器网上推荐用Geny...什么的模拟器,但是那个模拟器还需要VBox一起用. 有点麻烦 ...

  6. 最短路计数(dp+最短路)

    Description 给出一个 n 个顶点 m 条边的无向无权图,顶点编号为 1 到 n. 问从顶点 1 开始,到其他每个点的最短路有几条. Input 第一行 2 个正整数 n, m  ( 1 ≤ ...

  7. 千万别点进来,点进来你就哭了(最短路,dijkstra)

    Description PY利用寒假摸鱼时间去了一趟香港吃吃吃,下面就由我介绍一下我遇到的好吃的香港美食. 首先介绍第一家合益泰小食,这家主打肠粉,这家的肠粉特别的正宗,价格非常亲民,口感非常好 公和 ...

  8. [AcWing算法提高课]之图论 单源最短路的综合应用(C++题解)

    目录 1)热浪(板子题) (朴素dijkstra) O(n2) (堆优化dijkstra) O((n+m)logm) (spfa) O(m) 2)信使 3)香甜的黄油 4)最小花费 5) 最优乘车 6 ...

  9. bzoj4773 负环

    Description 在忘记考虑负环之后,黎瑟的算法又出错了.对于边带权的有向图 G = (V, E),请找出一个点数最小的环,使得 环上的边权和为负数.保证图中不包含重边和自环. Input 第1 ...

最新文章

  1. 【BZOJ】1834: [ZJOI2010]network 网络扩容(最大流+费用流)
  2. Access2007及以后的版本中的数据库连接字符串
  3. 求助:现在有一个可以进体制“养老”的坑,我该不该跳?
  4. ASP.NET Core 之 Identity 入门(二)
  5. 求AOE图的 拓扑排序 及关键路径长度(java实现)
  6. fpga烧写bin文件_S3C2440移植uboot之编译烧写uboot
  7. (备忘)怎么去除WinRAR弹窗广告?
  8. pytest-Mark数据驱动
  9. IEEE和SCI等的通俗简介
  10. 关于母板页中runnat=server 窗体标记的问题
  11. 网络编程之POP3协议邮箱收信
  12. Sun工作站技术文档
  13. PS制作简单可爱马赛克像素画效果
  14. tensorflow2.0莺尾花iris数据集分类|超详细
  15. 微软官方建议的28条代码优化方案
  16. 怎么看cf的服务器在哪个文件夹,cf录像在哪个文件夹
  17. 因为你还没有遇到给你三颗痣的人
  18. win10修改账户权限
  19. 热点分析 (Getis-Ord Gi*) 的工作原理
  20. 王利芬对话蒲易 ——花店如何成为高端电商?_北京_歇会儿网

热门文章

  1. LeetCode 803. 打砖块(并查集)
  2. 天池 在线编程 布尔表达式求值(栈)
  3. LeetCode 702. 搜索长度未知的有序数组(二分查找)
  4. LeetCode 525. 连续数组(前缀和+哈希)
  5. LeetCode 222. 完全二叉树的节点个数(二分查找)
  6. LeetCode 413. 等差数列划分(DP)
  7. mysql事务与jdbc事务_事务(mysql事务、jdbc事务)
  8. python po设计模式_Python Selenium设计模式 - PO设计模式
  9. tkinter的可视化拖拽工具_可视化越做越丑?这五个高级图表效果实现流程分享给你...
  10. 别再双塔了!谷歌提出DSI索引,检索效果吊打双塔,零样本超BM25!