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
UVALive 6885 Flowery Trails 最短路枚举相关推荐
- POJ #1062 昂贵的聘礼 有限制的最短路 枚举+dijkstra求最短路
Description 年轻的探险家来到了一个印第安部落里.在那里他和酋长的女儿相爱了,于是便向酋长去求亲.酋长要他用10000个金币作为聘礼才答应把女儿嫁给他.探险家拿不出这么多金币,便请求酋长降低 ...
- hdu 2363(最短路+枚举)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2363 思路:和之前hdu上做过的一题很像...就是先求求出所有的高度差,排序后枚举,每次都一次spfa ...
- 洛谷P2939 [USACO09FEB]改造路Revamping Trails(最短路)
题目描述 Farmer John dutifully checks on the cows every day. He traverses some of the M (1 <= M <= ...
- codeforces144——D. Missile Silos(最短路+枚举)
codeforces144--D. Missile Silos 原题链接 题意: 给定一个n点m边的无向图,给定起点,求和起点最短距离为l的点有多少个(可以是点也可以在边上) 思路: 首先求一遍最短路 ...
- adb native raact 夜神_React Native 与 夜神模拟器的绑定
之前一直用真机去调试, 每回更新一次都需要手动摇晃手机后才能reload JS, OMG,太麻烦了. 后来寻思模拟器网上推荐用Geny...什么的模拟器,但是那个模拟器还需要VBox一起用. 有点麻烦 ...
- 最短路计数(dp+最短路)
Description 给出一个 n 个顶点 m 条边的无向无权图,顶点编号为 1 到 n. 问从顶点 1 开始,到其他每个点的最短路有几条. Input 第一行 2 个正整数 n, m ( 1 ≤ ...
- 千万别点进来,点进来你就哭了(最短路,dijkstra)
Description PY利用寒假摸鱼时间去了一趟香港吃吃吃,下面就由我介绍一下我遇到的好吃的香港美食. 首先介绍第一家合益泰小食,这家主打肠粉,这家的肠粉特别的正宗,价格非常亲民,口感非常好 公和 ...
- [AcWing算法提高课]之图论 单源最短路的综合应用(C++题解)
目录 1)热浪(板子题) (朴素dijkstra) O(n2) (堆优化dijkstra) O((n+m)logm) (spfa) O(m) 2)信使 3)香甜的黄油 4)最小花费 5) 最优乘车 6 ...
- bzoj4773 负环
Description 在忘记考虑负环之后,黎瑟的算法又出错了.对于边带权的有向图 G = (V, E),请找出一个点数最小的环,使得 环上的边权和为负数.保证图中不包含重边和自环. Input 第1 ...
最新文章
- 【BZOJ】1834: [ZJOI2010]network 网络扩容(最大流+费用流)
- Access2007及以后的版本中的数据库连接字符串
- 求助:现在有一个可以进体制“养老”的坑,我该不该跳?
- ASP.NET Core 之 Identity 入门(二)
- 求AOE图的 拓扑排序 及关键路径长度(java实现)
- fpga烧写bin文件_S3C2440移植uboot之编译烧写uboot
- (备忘)怎么去除WinRAR弹窗广告?
- pytest-Mark数据驱动
- IEEE和SCI等的通俗简介
- 关于母板页中runnat=server 窗体标记的问题
- 网络编程之POP3协议邮箱收信
- Sun工作站技术文档
- PS制作简单可爱马赛克像素画效果
- tensorflow2.0莺尾花iris数据集分类|超详细
- 微软官方建议的28条代码优化方案
- 怎么看cf的服务器在哪个文件夹,cf录像在哪个文件夹
- 因为你还没有遇到给你三颗痣的人
- win10修改账户权限
- 热点分析 (Getis-Ord Gi*) 的工作原理
- 王利芬对话蒲易 ——花店如何成为高端电商?_北京_歇会儿网
热门文章
- LeetCode 803. 打砖块(并查集)
- 天池 在线编程 布尔表达式求值(栈)
- LeetCode 702. 搜索长度未知的有序数组(二分查找)
- LeetCode 525. 连续数组(前缀和+哈希)
- LeetCode 222. 完全二叉树的节点个数(二分查找)
- LeetCode 413. 等差数列划分(DP)
- mysql事务与jdbc事务_事务(mysql事务、jdbc事务)
- python po设计模式_Python Selenium设计模式 - PO设计模式
- tkinter的可视化拖拽工具_可视化越做越丑?这五个高级图表效果实现流程分享给你...
- 别再双塔了!谷歌提出DSI索引,检索效果吊打双塔,零样本超BM25!