Luogu P1608 路径统计 最短路计数
颓了、、、重边导致我乖乖用邻接矩阵。。。。
好吧就是个最短路计数。。。。如果更新时d[v]==d[u]+w[i],就可以接起来,把两个加在一起。。
如果d[v]>d[u]+w[i],那么c[v]直接赋值为c[u],相当于这个最短路是由u转移过来的、
#include<cstdio>
#include<iostream>
#include<cstring>
#include<queue>
#define R register int
using namespace std;
const int N=,M=;
inline int g() {
R ret=,fix=; register char ch; while(!isdigit(ch=getchar())) fix=ch=='-'?-:fix;
do ret=ret*+(ch^); while(isdigit(ch=getchar())); return ret*fix;
}
int n,m,cnt;
int w[N][N],fir[N],d[N],c[N];
bool vis[N];
priority_queue<pair<int,int> > q;
inline void dijk() {
memset(d,0x3f,sizeof(int)*(n+)); c[]=,d[]=,q.push(make_pair(,));
while(q.size()) {
R u=q.top().second; q.pop(); if(vis[u]) continue; vis[u]=true;
for(R i=;i<=n;++i) {
if(d[i]>d[u]+w[u][i]) d[i]=d[u]+w[u][i],q.push(make_pair(-d[i],i)),c[i]=c[u];
else if(d[i]==d[u]+w[u][i]) c[i]+=c[u];
}
}
}
signed main() { freopen("in.in","r",stdin);
n=g(),m=g(); memset(w,0x3f,sizeof(w)); for(R i=,u,v,ww;i<=m;++i) u=g(),v=g(),ww=g(),w[u][v]=min(w[u][v],ww);
dijk(); if(d[n]==0x3f3f3f3f) printf("No answer\n"); else printf("%d %d\n",d[n],c[n]);
}
2019.04.24
Luogu P1608 路径统计 最短路计数的更多相关文章
- luogu 1608 路径统计--最短路计数
https://www.luogu.org/problemnew/show/P1608 题意https://www.cnblogs.com/rmy020718/p/9440588.html相似,建议还 ...
- 【luogu P1608 路径统计】 题解
题目链接:https://www.luogu.org/problemnew/show/P1608 补上一发最短路计数! 感谢王强qwqqqq @Lance1ot #include <queue& ...
- luogu P1608 路径统计
题目描述 “RP餐厅”的员工素质就是不一般,在齐刷刷的算出同一个电话号码之后,就准备让HZH,TZY去送快餐了,他们将自己居住的城市画了一张地图,已知在他们的地图上,有N个地方,而且他们目前处在标注为 ...
- 洛谷——P1608 路径统计
P1608 路径统计 题目描述 “RP餐厅”的员工素质就是不一般,在齐刷刷的算出同一个电话号码之后,就准备让HZH,TZY去送快餐了,他们将自己居住的城市画了一张地图,已知在他们的地图上,有N个地方, ...
- 洛谷 P1608 路径统计
P1608 路径统计 题目描述 “RP餐厅”的员工素质就是不一般,在齐刷刷的算出同一个电话号码之后,就准备让HZH,TZY去送快餐了,他们将自己居住的城市画了一张地图,已知在他们的地图上,有N个地方, ...
- 洛谷P1608路径统计
题目 这个提示一个简单的最短路计数,除了用数组存上最短路的个数的做法以外,还有可以在得出最短路之后,搜索加剪枝的方法来通过该题. 可以反向搜索用A*的方法来通过,但是这个题的去重十分的恶心,需要一些玄 ...
- luogu【P1144】最短路计数
原题入口 这道题 一道有关于最短路的图论问题. 要求从1开始求解最短路的条数. 这个题十分有趣,首先,跑裸的spfa(或者dijkstra)算出从1开始的最短路的长度. 再其次,计数的话,可以用记忆化 ...
- P1608 路径统计
题目描述 “RP餐厅”的员工素质就是不一般,在齐刷刷的算出同一个电话号码之后,就准备让HZH,TZY去送快餐了,他们将自己居住的城市画了一张地图,已知在他们的地图上,有N个地方,而且他们目前处在标注为 ...
- Luogu P1144 最短路计数 【最短路】 By cellur925
题目传送门 常规的最短路计数问题:注意有重边(重边不用理,看样例),自环(读入时过滤). 另外这个无向图没有权,其实可以直接bfs做,但考虑到以后带权的情况,按spfa走了. 水题被卡了三次(嘤嘤嘤 ...
随机推荐
- Yii::app()
Yii::app()返回的是你在index.php里创建的CWebApplication实例. 在一次请求处理过程中,这是个唯一的实例. Yii::app()主要负责一些全局性的功能模块,比如Yii: ...
- jquery-messager-消息提示
一.页面引入 jquery.js 下载地址问度娘 jquery-message.js 下载地址:jquery-message.js 二.页面使用 //ajax轮询检查新的订单 function che ...
- fisher一致性
最近读SVM,数学证明中用到了fisher一致性. 定义: 假设有一组统计数据X1,...,Xn,每个数据都满足一个累计分布FΘ,其中Θ是未知的.如果基于样本的对Θ的估计值可以表示为一个经验分布公式 ...
- Python 面向对象 (进阶篇)
<Python 面向对象(初级篇)>文章介绍了面向对象基本知识: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使用(可 ...
- FTP 命令 上传下载
ftp ftp [-v] [-n] [-i] [-d] [-g] [-s:filename] [-a] [-w:windowsize] [computer] 参数-v 禁止显示远程服务器响应.-n ...
- 使用myeclipse自动导入hibernate3的jar包,如何关联hibernate源码的解决办法
1.在网上找了好久,今天终于解决了,如果你的myeclipse自动生成的添加hibernate3jar包时,依靠通常的方法是无法关联其相应版本的源代码的,就是你在编写代码是,按住ctrl + hibe ...
- 业务逻辑:五、完成认证用户的动态授权功能 六、完成Shiro整合Ehcache缓存权限数据
一. 完成认证用户的动态授权功能 提示:根据当前认证用户查询数据库,获取其对应的权限,为其授权 操作步骤: 在realm的授权方法中通过使用principals对象获取到当前登录用户 创建一个授权信息 ...
- 算法Sedgewick第四版-第1章基础-006一封装输出(文件)
1. package algorithms.util; /*********************************************************************** ...
- python基本概念——字符串
1.字符串 一个字符串用什么引号开头,就必须用什么引号结尾.两上三引号之间的一切都作为字符串的内容,对应的单引号与双引号却只能创建单行字符串. 2.转义符 \,行末的单独一个反斜杠表示字符串在下一行继 ...
- HttpGet和HttpPost处理重定向的区别
get方法默认会处理302的重定向,response获取到的页面其实是重定向以后的页面,通过response.getStatusLine(),取到的值是200. 通过设置可以用post方法去请求或者把 ...