#SPFA#洛谷 2384 最短路】的更多相关文章

To 洛谷.1144 最短路计数 题目描述 给出一个N个顶点M条边的无向无权图,顶点编号为1-N.问从顶点1开始,到其他每个点的最短路有几条. 输入输出格式 输入格式: 输入第一行包含2个正整数N,M,为图的顶点数与边数. 接下来M行,每行两个正整数x, y,表示有一条顶点x连向顶点y的边,请注意可能有自环与重边. 输出格式: 输出包括N行,每行一个非负整数,第i行输出从顶点1到顶点i有多少条不同的最短路,由于答案有可能会很大,你只需要输出mod 100003后的结果即可.如果无法到达顶点i则输…
洛谷1144 最短路计数 传送门 其实这道题目的正解应该是spfa里面加一些处理,,然而,,然而,,既然它是无权图,,那么就直接bfs了,用一个cnt记录一下每一个点的方案数,分几种情况讨论一下转移,最后输出cnt即为结果.. 题目中所说的重边和自环啥的没看出来有啥影响.. #include <cstdio> #include <cstring> #include <algorithm> + ; ; int que[maxn]; bool vis[maxn]; * ma…
洛谷 P2384 最短路 题目背景 狗哥做烂了最短路,突然机智的考了Bosh一道,没想到把Bosh考住了...你能帮Bosh解决吗? 他会给你100000000000000000000000000000000000%10金币w     (不就是 0 吗...) 题目描述 给定n个点的带权有向图,求从1到n的路径中边权之积最小的简单路径.    (注意!是求积而不是求和) 输入输出格式 输入格式: 第一行读入两个整数n,m,表示共n个点m条边. 接下来m行,每行三个正整数x,y,z,表示点x到点y…
题目请戳这里 一句话题意: 给你一张n个节点,m条单向边的图,求1到n第k短的路. emmm,纪念第一个黑题(我是真的菜啊!!) 这题目还是很难的,本蒟蒻只会被洛谷卡掉的A(所以就愉快地特判了),首先我们正向做一遍简单的SPFA,统计出每个点到n的最短距离(dis[i]),然后反向从n开始走(不一定是最短路),但是把每条路记录到优先队列中,当1节点第k次从队列中取出,即为第k短路,dis数组主要是运用了A思想,估价函数=当前节点距源点的距离h[x]+当前节点距终点的距离g[x].当然本题并不是纯…
最短路计数 此题还是寻找从1到i点总共有几个最短路且每条边的边长为1,对于这种寻找最短路的个数,我们可以反向搜索,即先用\(SPFA\)预处理出所有点的最短路,然后我们反向记忆化搜索,可以用\(sum[i]\)表示从i到1的最短路个数,然后我们初始化\(sum[1] = 1\),然后就可以了 代码: #include<iostream> #include<cstring> #include<cstdio> #include<algorithm> #inclu…
传送门:https://www.luogu.org/problemnew/show/P1144 这虽然是一道普及+的题,然而我发现我现在还没做过,这也就直接导致我今天模拟T2只杠了个暴力分…… 那这道题怎么做呢?既然是最短路,那么一定要用spfa或dijkstra了,这里就讲dijkstra的做法吧,主要是这比spfa简单点,而且spfa不是那啥了吗. 众所周知,在那个所谓的什么松弛操作的时候,如果dis[u] + c[u->v] < dis[v],我们就更新dis[v],这时候从u过来的路径…
P1144 最短路计数 题目描述 给出一个\(N\)个顶点\(M\)条边的无向无权图,顶点编号为\(1-N\).问从顶点1开始,到其他每个点的最短路有几条. 输入输出格式 输入格式: 第一行包含2个正整数\(N,M\),为图的顶点数与边数. 接下来\(M\)行,每行2个正整数\(x,y\),表示有一条顶点\(x\)连向顶点\(y\)的边,请注意可能有自环与重边. 输出格式: 共\(N\)行,每行一个非负整数,第\(i\)行输出从顶点1到顶点\(i\)有多少条不同的最短路,由于答案有可能会很大,你…
图论题目练得比较少,发一道spfa的板子题目- 题目:P1144 题目描述 给出一个N个顶点M条边的无向无权图,顶点编号为1-N.问从顶点1开始,到其他每个点的最短路有几条. 输入输出格式 输入格式: 输入第一行包含2个正整数N,M,为图的顶点数与边数. 接下来M行,每行两个正整数x, y,表示有一条顶点x连向顶点y的边,请注意可能有自环与重边. 输出格式: 输出包括N行,每行一个非负整数,第i行输出从顶点1到顶点i有多少条不同的最短路,由于答案有可能会很大,你只需要输出mod 100003后的…
P2384 最短路 题目背景 狗哥做烂了最短路,突然机智的考了Bosh一道,没想到把Bosh考住了...你能帮Bosh解决吗? 他会给你100000000000000000000000000000000000%10金币w 题目描述 给定n个点的带权有向图,求从1到n的路径中边权之积最小的简单路径. 输入输出格式 输入格式: 第一行读入两个整数n,m,表示共n个点m条边. 接下来m行,每行三个正整数x,y,z,表示点x到点y有一条边权为z的边. 输出格式: 输出仅包括一行,记为所求路径的边权之积,…
题目:https://www.luogu.org/problemnew/show/P1144 spfa跑最短路的同时记录cnt数组表示到达方案数. 代码如下: #include<iostream> #include<cstdio> #include<cstring> using namespace std; int n,m,a,b,head[1000005],ct,dis[1000005],cnt[1000005],hp[10000005],h=1,t=1,p=1000…