[poj1511] Invitation Cards
来源:互联网 发布:子域名怎么看 编辑:程序博客网 时间:2024/05/21 22:22
题目链接
题解:题意也就是求原点到其他点的最短距离和其他点到原点的最短距离和(表示完全看不懂英文题)正,反向各建一遍图,2遍spfa即可
#include <queue>#include <cstdio>#include <climits>#include <cstring>#include <iostream>using namespace std;#define M 10000005#define ll long long#define INF LLONG_MAX//位于<climits>库中的最大值 queue <int> q;ll ans;int m,n,t,T;ll d[M];bool vis[M];int head[M],x[M],y[M],z[M];struct edge{ int to,from,val,next;}e[M];inline void ready(int s){ for(int i=1;i<=n;i++) d[i]=INF,vis[i]=0; d[s]=0;}inline void add(int i,int j,int w){ e[t].from=i; e[t].to=j; e[t].val=w; e[t].next=head[i]; head[i]=t++;}inline void spfa(int s){ ready(s); q.push(s); while(!q.empty()) { int u=q.front();q.pop();vis[u]=false; for(int i=head[u];i!=-1;i=e[i].next) { int v=e[i].to; if(d[v]>d[u]+e[i].val) { d[v]=d[u]+e[i].val; if(!vis[v]) { vis[v]=true; q.push(v); } } } }}inline void work(){ t=0;ans=0; memset(head,-1,sizeof(head)); cin>>n>>m; for(int i=1;i<=m;i++){ scanf("%d%d%d",&x[i],&y[i],&z[i]); add(x[i],y[i],z[i]); } spfa(1); for(int i=2;i<=n;i++) ans+=d[i]; t=0;//反向构图 memset(head,-1,sizeof(head)); for(int i=1;i<=m;i++) add(y[i],x[i],z[i]); spfa(1); for(int i=2;i<=n;i++) ans+=d[i]; printf("%lld\n",ans); }int main(){ cin>>T; while(T--){ work(); } return 0;}
0 0
- POJ1511 Invitation Cards
- poj1511 - Invitation Cards
- poj1511 Invitation Cards
- POJ1511 Invitation Cards【SPFA】
- POJ1511 Invitation Cards
- POJ1511 Invitation Cards
- POJ1511 Invitation Cards
- [poj1511] Invitation Cards
- poj1511 Invitation Cards
- POJ1511 Invitation Cards
- POJ1511 Invitation Cards
- POJ1511 Invitation Cards 【最短路】
- POJ1511——Invitation Cards
- poj1511(Invitation Cards)Prim
- poj1511||hdu1535 Invitation Cards spfa
- POJ1511 Invitation Cards(最短路)
- POJ1511 Invitation Cards(SPFA)
- POJ1511-Invitation Cards-最短路
- 蓝鸥 8.16
- Dijkstra、Bellman-Ford及Spfa算法思想对比
- 09 redis集群的搭建 以及遇到的问题
- UVA - 729 The Hamming Distance Problem
- 给RecyclerView最纯粹的下拉刷新和上拉加载更多
- [poj1511] Invitation Cards
- JSP 使用<%@include%>报Duplicate local variable path 错误 解决方法
- android 使用意图(Intent)实现一键拨号实例
- 软件设计师——计算机与软件工程知识&学习要点(上午题A)
- 二十岁出头,你一无所有,但你却拥有一切(转载)
- HDU 5652 India and China Origins (并查集判断联通)
- 最新版oracle安装
- Java第十二天
- dapper orm