对于这道题我是真无语了,最大值inf副成0x7FFFFFF,就是wa,变成7个F就过了,那if(w+d[t]<d[temp])这就句一加不一下子就超范围了么!!
求解释啊!!!!!!
正反两遍spfa,不解释了!!!!!
#include<iostream>
using namespace std;
#include<queue>
#include<algorithm>
#include<memory.h>
#define N 1000005
#define inf 0x7FFFFFFF
struct node
{
int u;
int c;
int next;
}e[N],o[N];
int a[N],b[N],c[N],p[N];
long long d[N];
bool vis[N];
int te=0;
void add(int a,int b,int c)
{
e[te].u=a;
e[te].c=c;
e[te].next=p[b];
p[b]=te;
te++;
}
int spfa(int s)
{
d[s]=0;
vis[s]=true;
queue<int>q;
q.push(s);
while(!q.empty())
{
int t=q.front();
q.pop();
vis[t]=false;
for(int j=p[t];j!=-1;j=e[j].next)
{
int w=e[j].c;
int temp=e[j].u;
if(w+d[t]<d[temp])
{
d[temp]=w+d[t];
if(!vis[temp])
{
vis[temp]=true;
q.push(temp);
}
}
}
}
}
int main()
{
int n,q;
int sum;
while(cin>>n)
{
while(n--)
{
scanf("%d%d",&sum,&q);
for(int i=0;i<N;i++)
{
p[i]=-1;
}
memset(vis,0,sizeof(vis));
fill(d,d+N,inf);
te=0;
for(int i=1;i<=q;i++)
{
scanf("%d%d%d",&a[i],&b[i],&c[i]);
add(a[i],b[i],c[i]);
}
spfa(1);
long long sum1=0;
for(int i=1;i<=sum;i++)
sum1+=d[i];
memset(vis,0,sizeof(vis));
for(int i=0;i<N;i++)
d[i]=inf;
for(int i=0;i<N;i++)
{
p[i]=-1;
}
te=0;
for(int i=1;i<=q;i++)
{
add(b[i],a[i],c[i]);
}
spfa(1) ;
long long sum2=0;
for(int i=1;i<=sum;i++)
sum2+=d[i];
cout<<sum1+sum2<<endl;
}
}
return 0;
}

poj 1511 Invitation Cards spfa比基础题难一些!!练练手挺好相关推荐

  1. POJ 1511 Invitation Cards——Dijkstra优先队列优化+反向建图

    [题目描述] In the age of television, not many people attend theater performances. Antique Comedians of M ...

  2. POJ 1511 Invitation Cards(最短路径,dijkstra 模板题)

    题目意思: 在有向图中,求1到所有点的最短路之和 + 所有点到1的最短路之和. 本题要点: 1.先求1点 到其他点的单源最短路径 d[i](1 <= i <= n), 用 dijkstra ...

  3. POJ 1511 Invitation Cards(双向最短路)

    [题目链接] http://poj.org/problem?id=1511 题目意思 给n个点,m条有向边.问你从1到其他n-1各点的最短路和加上从n-1各点到1的最短路. 解题思路 因为是有向边而且 ...

  4. poj 1511 Invitation Cards

    最短路 题意:  强调是有向图 , n个点(1到n标号)m条边,求出点1到所有点的最短路之和 + 所有点到点1的最短路之和 什么?求一次最短路,然后 x 2 就是答案? 这样是错的,如果是无向图的话可 ...

  5. pku 1511 Invitation Cards

    一道好题,练习静态表(邻接矩阵的数组开不下),没写过静态表,参考http://www.cnblogs.com/cykun/archive/2011/01/19/1939542.html 写的,改用st ...

  6. A - TOYS(POJ - 2318) 计算几何的一道基础题

    Calculate the number of toys that land in each bin of a partitioned toy box. 计算每一个玩具箱里面玩具的数量 Mom and ...

  7. Invitation Cards——正反最短路

    poj 1511: Invitation Cards 题意:点1到其他点的最短距离+其他点到点1的最短距离 的总和. 1.双向建图 正向建图是1到其他点的距离,反向建图则是其他点到1的距离. 2.数据 ...

  8. 达内java作业_【达内JAVA教程】达内Java基础题

    原标题:[达内JAVA教程]达内Java基础题 [达内JAVA教程]达内Java基础题.的小编收集了四道JAVA基础题,下面快来跟随的小编来了解一下吧! 话说很多java程序员学过一段时间后,都应该找 ...

  9. Invitation Cards POJ - 1511 SPFA(dijkstra+反向建图+邻接表(下标过大)+输入输出用stdio(iostream超时))

    题目大意: 有编号1-P的站点, 有Q条公交车路线,公交车路线只从一个起点站直接 到达终点站,是单向的,每条路线有它自己的车费.有P个人早上从1出发 ,他们要到达每一个公交站点, 然后到了晚上再返回点 ...

  10. J - Invitation Cards POJ - 1511

    J - Invitation Cards POJ - 1511 题意: 共有 n 个站点,n 个志愿者从1 出发,分别到达不同的站点,晚上全部回到 1 ,求他们总的最小花费是多少? 思路: 首先想到从 ...

最新文章

  1. Web漏洞扫描(三:Burp Suite的基本操作)
  2. 针对NLP长文本处理问题的Longformer论文解读
  3. dreamweaver 疑问
  4. 当前元素_前端系列——获取页面中的DOM元素
  5. 设计一个简单分页存储管理系统_【系统架构】如何设计一个简单灵活的收银系统?看这里!(1)...
  6. 20200715:动态规划复习day06
  7. python分页技术
  8. SIM800C 使用基站定位
  9. Java项目——细胞自动机
  10. BP算法的身份证号码识别
  11. 珍藏30年的网站都在这了,自媒体运营必不可少
  12. Linux - 计划任务
  13. 流程图绘制软件 Dia
  14. 一文读懂微软转型秘诀
  15. GDrive首次现身!
  16. php单例是什么意思,什么是PHP单例模式?
  17. 2008年世界顶级防火墙排名
  18. 计算机软件 大shen
  19. 写GML到一个复杂的应用模式
  20. 数商云:电商倒逼中药材专业市场交易,数字化助力中医药传承创新

热门文章

  1. JBoss - 调整JVM内存 -Xms512m -Xmx1024m
  2. centos环境安装storm
  3. 《Java基础学习笔记》JAVA基础
  4. Java集合对象详解
  5. 用pc浏览器打开手机页面
  6. Mybatis-config.xml配置文件详解
  7. 转:oracle常见重要视图-v$sql,v$sql_plan,v$sqltext,v$sqlarea,v$sql_plan_statistcs
  8. wordpress主题安装教程及错误处理
  9. 1、varargout与nargout区别
  10. 监控视频中人的特征识别