题目链接

最短路——最短路计数(spfa)

题目描述

给出一个 N 个顶点 M 条边的无向无权图,顶点编号为 1-N。问从顶点 1 开始,到其他每个点的最短路有几条。

输入格式

第一行包含 2 个正整数 N,M,为图的顶点数与边数。

接下来 M 行,每行 2 个正整数 x,y,表示有一条顶点 x 连向顶点 y 的边,请注意可能有自环与重边。

输出格式

共 N 行,每行一个非负整数,第 i 行输出从顶点 1 到顶点 i 有多少条不同的最短路,由于答案有可能会很大,你只需要输出 ans mod 100003后的结果即可。如果无法到达顶点 i 则输出 0。

输入输出样例

输入

5 7
1 2
1 3
2 4
3 4
2 3
4 5
4 5

输出

1
1
1
2
4

#include<bits/stdc++.h>
using namespace std;
const int mod=1e5+3;
const int maxn=2000005;
const int inf=0x3f3f3f3f;
int n,m,x,y,ans;
vector<int> f[maxn];
int dis[maxn],vis[maxn],cnt[maxn];void spfa(int k)
{queue<int> q;q.push(k);dis[k]=0;cnt[k]=1;vis[k]=1;while(!q.empty()){int p=q.front();q.pop();vis[p]=0;for(int i=0;i<f[p].size();i++){int t=f[p][i];if(dis[t]>dis[p]+1){dis[t]=dis[p]+1;cnt[t]=cnt[p];if(!vis[t]){vis[t]=1;q.push(t);}}else if(dis[t]==dis[p]+1){cnt[t]=(cnt[t]+cnt[p])%mod;}}}
}int main()
{cin>>n>>m;for(int i=0;i<m;i++){cin>>x>>y;f[x].push_back(y);f[y].push_back(x);}memset(dis,inf,sizeof(dis));memset(vis,0,sizeof(vis));memset(cnt,0,sizeof(cnt));spfa(1);for(int i=1;i<=n;i++){cout<<cnt[i]<<endl;}return 0;
}

最短路——最短路计数(spfa)相关推荐

  1. 最短路——最短路(spfa)

    题目链接 最短路--最短路(spfa) 题目描述 简单暴力的题目要求: 给定一个有n个顶点(从1到n编号),m条边的有向图(其中某些边权可能为负,但保证没有负环).请你计算从1号点到其他点的最短路. ...

  2. 最短路计数(spfa)

    题目描述 给出一个N个顶点M条边的无向无权图,顶点编号为1-N.问从顶点1开始,到其他每个点的最短路有几条. 输入输出格式 输入格式: 输入第一行包含2个正整数N,M,为图的顶点数与边数. 接下来M行 ...

  3. 算法小讲堂之最短路算法(Floyd+bellman+SPFA+Dijkstra)

    前言 如果你对图论相关知识一点也没有,那么建议您先去了解这些知识:https://acmer.blog.csdn.net/article/details/122310835,然后就可以快乐的学习最短路 ...

  4. 单源最短路 Dijkstra算法 和 SPFA算法

    单源最短路 •从一个点出发,到达其他顶点的最短路径的长度. •基本操作:松弛 •d[u]+map[u, v]< d[v]这样的边(u,v)称为紧的(tense),可以对它进行松弛(relax): ...

  5. 【SPFA】【最短路/次短路】GF打Dota

    GF打Dota 题目大意: 求一个点到另一个点的最短路或次短路 原题: 题目描述 众所周知,GF同学喜欢打dota,而且打得非常好.今天GF和Spartan同学进行了一场大战.现在GF拿到一张地图,地 ...

  6. 图论 —— 最短路 —— Bellman-Ford 算法与 SPFA

    [概述] Bellman-Ford算法适用于计算单源最短路径,即:只能计算起点只有一个的情况. 其最大特点是可以处理存在负边权的情况,但无法处理存在负权回路的情况. 其时间复杂度为:O(V*E),其中 ...

  7. 【NOIP2013】华容道 最短路优化搜索(spfa)

    华容道 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 34  Solved: 14 [Submit][Status][Web Board] Descr ...

  8. 851. spfa求最短路 Java题解 (spfa)

    输入样例: 3 3 1 2 5 2 3 -3 1 3 4 输出样例: 2 算法思路: spfa最短路算法是对bellmanFord算法的优化,用于求单源最短路间的带负权的算法,一般时间复杂度为O(m) ...

  9. 图论 ---- CF1495D .BFS Trees(图论最短路生成树+枚举计数+树的层次性)

    题目大意 题目大意: 解题思路: 首先我们肯定先把任意两个点之间的最短路求出来→Floyed\rightarrow Floyed→Floyed最短路算法 现在我们假设只固定两个点x,yx,yx,y去求 ...

最新文章

  1. 双水泵轮换工作原理图_「物业管理工作」水泵维护保养规程
  2. 10.07-Idea的使用
  3. 在C#中操作XM II
  4. XShell中浏览文件时上拉下拉
  5. C# 使用TCP创建HTTP客户程序
  6. 分布式事务最终一致性-CAP框架轻松搞定
  7. JWT认证不通过导致不能访问视图的解决方案
  8. 滴滴新规则明日起试行:将影响一大波人
  9. 使用Python模拟蒙蒂霍尔悖论游戏
  10. 百面机器学习—13.L1正则化与稀疏性
  11. C - Catch That Cow POJ - 3278(广搜)
  12. 制作一个简易的即时聊天工具
  13. AD9如何设置原点位置
  14. Ardunio开发实例-MAG3110磁传感器
  15. svn status详解
  16. 怎么寻找微信撤回的图片
  17. 深入理解计算机系统 练习题3.8 理解计算机二元操作
  18. 从零开始——Emacs 安装配置使用教程 2015
  19. 使用ELF解析工具patch ELF
  20. 九字故事。。。 我喜欢你。 你是一个好人。

热门文章

  1. 浅谈SQL注入漏洞原理及利用方式
  2. MySQL 实现无数据插入有数据更新
  3. pid巡线算法程序_技术分享——从单个到多个颜色传感器巡线原理解析
  4. 特斯拉、谷歌最可怕的对手!乔治·霍兹(George Hotz)
  5. mysql 中tinyint(1)
  6. 【kafka专栏】使用shell脚本快速安装kafka集群(含视频)
  7. DNS 域名称服务
  8. DP2515国产带SPI接口汽车CAN总线控制器芯片兼容替代MCP2515/MCP2515-I/ST
  9. 宝库\要出发 IOS面试试题
  10. 二叉树结构——BTree、BTreeNode