poj 3159 SPFA+手写栈
来源:互联网 发布:阿里云服务器导入sql 编辑:程序博客网 时间:2024/05/21 17:36
一天啊 。。就挂在这道题上了。。。next数组开小了。。导致一直TLE。。服了我自己了。。T,T
题意:
A小朋友不希望B小朋友比他多X块糖。。
SPFA+手写栈实现 队列会超时。。数据问题吧
#include<stdio.h>#define MX 100000000int pos,stack[150010],dist[30010],next[150010],list[30010],n,m;bool visit[30010];struct point{int u,v,w;}eg[150010];void add(int a,int b,int c){eg[pos].v=b;eg[pos].w=c;next[pos]=list[a];list[a]=pos++;}void SPFA(int v0){for(int i=1;i<=n;i++){visit[i]=0;dist[i]=MX;}visit[v0]=1;dist[v0]=0;stack[0]=v0;int top=1;while(top){int now=stack[--top];int p=list[now];while(p!=-1){if(eg[p].w+dist[now]<dist[eg[p].v]){dist[eg[p].v]=dist[now]+eg[p].w;if(!visit[eg[p].v]){stack[top++]=eg[p].v;visit[eg[p].v]=1;}//printf("p=%d t=%d dist[%d]=%d w=%d dist[%d]=%d\n",p,now,now,dist[now],eg[p].w,eg[p].v,dist[eg[p].v]);}p=next[p];}visit[now]=0;}}int main(){while(scanf("%d%d",&n,&m)!=EOF){pos=0;for(int i=0;i<=n;i++)list[i]=-1;for(int i=0;i<m;i++){int a,b,c;scanf("%d%d%d",&a,&b,&c);add(a,b,c);}SPFA(1);printf("%d\n",dist[n]);}return 0;}
- poj 3159 SPFA+手写栈
- poj 3159 -- Candies ( spfa + 栈 )
- POJ-3159-Candies(SPFA+模拟栈)
- POJ 3159Candies 栈模拟SPFA
- poj 3159 差分约束 + SPFA + 栈
- poj-3159,SPFA+堆栈
- poj 3159 Candies------spfa算法
- POJ 3159 Candies(SPFA+stack)
- poj 3159 Candies (spfa+stack)
- POJ 3159(spfa + 数组模拟)
- Poj 3159 (差分约束系统,SPFA+栈,Dij+heap)
- poj 3159 Candies (spfa+栈)
- POJ 3159 Candies 差分约束 spfa+栈+邻接表
- POJ 3159 Candies(SPFA+栈)差分约束
- POJ 3159 Candies 差分约束-SPFA栈实现
- POJ 3159 Candies 差分约束+spfa
- poj 3159 Candies 差分约束 + spfa
- 关于SPFA,记一点小悲催 poj 3159
- Linux 触摸屏驱动分析
- ubuntu man安装
- Orders c++生成全排列
- JAVA NIO总结(三)—分散聚集、文件锁定、字符集
- VC WM_DEVICECHANGE消息,实时捕获U盘插入、移除
- poj 3159 SPFA+手写栈
- linux安装jdk (当前环境Debian)
- Collections Programming Topics---集合的编程问题
- word中如何加入带√的□?就是如: 有 □ 无 □ ,要在后面的框框里打钩。
- tinyxml一个优秀的c++ xml工具
- Javascript那些书
- 利用java反射机制将任意对象的转换为map存储
- php_curl (转)
- 你不知道的5个Web技术秘密!