http://poj.org/problem?id=3268

对于这道题,我想说的就是日了狗了,什么鬼,定义的一个数值的前后顺序不同,一个就TLE,一个就A,还16MS。

感觉人生观都奔溃了,果然,题目做多了总会见到鬼的!!!!!!

心累,不想写这个题了。

 #include <stdio.h>
#include <string.h>
#include <queue>
#include <iostream>
#define inf 0x3f
#define Max1 1010
#define Max2 100010 using namespace std;
int m,n,x;
int mark[Max1];
int next[Max1];
int u[Max2]; //把13和14行交换一下,你得到了结果会完全不同。。
int v[Max2];
int w[Max2];
int a[Max2],b[Max2],c[Max2];
int dist[Max1];
int ans[Max1];
bool vis[Max1]; queue <int >s;
void init()
{
memset( vis,false,sizeof(vis));
while( !s.empty()) s.pop();
memset(dist,inf,sizeof( dist ));
dist[x]=;
for(int i=;i<=n;i++)
mark[i]=-;
} void spfa()
{
s.push( x );
vis[ x ] = true ;
while( !s.empty() )
{
int tmp = s.front();
s.pop();
vis[ tmp ] = false;
for(int i = mark[ tmp ] ; i != - ; i = next[ i ] )
{
if( dist[ tmp ] + w[ i ] < dist[ v[ i ] ])
{
dist[ v[ i ] ] = dist[ tmp ] + w[ i ];
if( !vis[ v[ i ] ] )
{
s.push( v[ i ] );
vis[ v[ i ] ] = true;
}
}
}
}
for( int i = ; i <= n ; i++ )
ans[ i ] += dist[ i ];
} int main()
{
// freopen("in.txt","r",stdin);
while(~scanf("%d%d%d",&n,&m,&x))
{
memset( ans , , sizeof( ans ) );
init();
for( int i = ; i <= m ; i++ )
{
scanf( "%d%d%d",&a[ i ],&b[ i ],&c[ i ] );
u[ i ] = a[ i ];
v[ i ] = b[ i ];
w[ i ] = c[ i ];
next[ i ] = mark [ u[ i ] ] ;
mark[ u[ i ] ] = i;
}
spfa();
init();
for( int i = ; i <= m ; i++ )
{
v[ i ] = a[ i ];
u[ i ] = b[ i ];
w[ i ] = c[ i ];
next[ i ] = mark[ u[ i ] ];
mark[ u[ i ] ] = i;
}
spfa();
int Max = ans[];
for( int i = ; i <= n ; i++ )
if( ans[ i ] > Max ) Max = ans[ i ];
printf("%d\n",Max);
}
return ;
}

poj 3268(spfa)的更多相关文章

  1. DIjkstra(反向边) POJ 3268 Silver Cow Party || POJ 1511 Invitation Cards

    题目传送门 1 2 题意:有向图,所有点先走到x点,在从x点返回,问其中最大的某点最短路程 分析:对图正反都跑一次最短路,开两个数组记录x到其余点的距离,这样就能求出来的最短路以及回去的最短路. PO ...

  2. POJ 3268 Silver Cow Party (最短路径)

    POJ 3268 Silver Cow Party (最短路径) Description One cow from each of N farms (1 ≤ N ≤ 1000) convenientl ...

  3. POJ 3268——Silver Cow Party——————【最短路、Dijkstra、反向建图】

    Silver Cow Party Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Su ...

  4. POJ 3268 Silver Cow Party 最短路—dijkstra算法的优化。

    POJ 3268 Silver Cow Party Description One cow from each of N farms (1 ≤ N ≤ 1000) conveniently numbe ...

  5. 图论 ---- spfa + 链式向前星 ---- poj 3268 : Silver Cow Party

    Silver Cow Party Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 12674   Accepted: 5651 ...

  6. POJ - 3268 Silver Cow Party SPFA+SLF优化 单源起点终点最短路

    Silver Cow Party One cow from each of N farms (1 ≤ N ≤ 1000) conveniently numbered 1..N is going to ...

  7. POJ 3268 Dijkstra+priority_queue或SPFA

    思路:正向建边,一遍Dijkstra,反向建边,再一遍Dijkstra.ans加在一起输出最大值. (SPFA也行--) // by SiriusRen #include <queue> ...

  8. Poj(2679),SPFA,邻接表(主流写法)

    题目链接:http://poj.org/problem?id=3268 题意: 有编号为1-N的牛,它们之间存在一些单向的路径.给定一头牛的编号,其他牛要去拜访它并且拜访完之后要返回自己原来的位置,求 ...

  9. POJ 3268 Silver Cow Party 最短路

    原题链接:http://poj.org/problem?id=3268 Silver Cow Party Time Limit: 2000MS   Memory Limit: 65536K Total ...

随机推荐

  1. python抓取网站URL小工具

    1.安装Python requests模块(通过pip): 环境搭建好了! 2.测试一下抓取URL的过程: 抓取出来的URL有JavaScript代码,正则上还有待更加完善,有兴趣的可以研究下~! 工 ...

  2. C语言中的参数传递

    有空看看: c语言 函数传输传递的三种方式(值.指针.引用) C语言之参数传递 C语言形参和实参,传值调用和引用调用的区别

  3. python 占位符 %s Format

    1.百分号方式 %[(name)][flags][width].[precision]typecode (name)      可选,用于选择指定的key flags          可选,可供选择 ...

  4. AngularJS启动过程分析

    1111 app.controller('myCtrl',['$scope',function($scope){     $scope.wcrq=1234567890; }]); angular.bo ...

  5. nginx -s reload失败

    在重启nginx时报错误. wangkongming@ThinkPad-T410 ~ $ sudo /usr/sbin/nginx -s reload nginx: [error] invalid P ...

  6. rational rose 顺序图的消息加数字

    主菜单——〉“Tools”——〉“Options”,在弹出的窗口中选择“Diagram”标签-->display-->sequence numbering

  7. 在windows7 上安装 Sublime Text 3 及其插件

    1.下载地址:http://www.sublimetext.com/3 请根据你的平台,选择适当的安装版本 安装完毕后,设定TAB键为4个空格( Preferences——>Setings-Us ...

  8. 移动WebApp利用Chrome浏览器进行调试

    详细的请看这个(HBuilder是我长期使用,而且值得支持的国内前端开发编辑器) http://ask.dcloud.net.cn/article/151 http://ask.dcloud.net. ...

  9. Maven初级学习(一)手把手教你Maven安装

    序:学习安装Maven,在Windows和Unix系统上. 一.Windows系统安装MVN 前提正确安装JDK1.5以上的版本 1 下载最先版Mvn http://maven.opache.org/ ...

  10. 必须知道的.net(继承)

    1.继承定义:就是面向对象中类与类之间的一种关系.通过继承,使得子类具有父类的属性和方法,同时子类也可以通过加入新的属性和方法或者修改父类的属性和方法建立新的类层次. 2.CLR支持实现单继承和接口多 ...