博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 3169 Layout
阅读量:5016 次
发布时间:2019-06-12

本文共 1112 字,大约阅读时间需要 3 分钟。

思路:

这题完全按照挑战上面的方法来做,开始我不是很能理解这种方法的含义。请自行阅读挑战。

一开始我超时了,不知道是什么原因,我写了一个队列优化的bellman ford ,还用了vector的邻接表,不知道为什么会超时。。。其实回头看一下,bellman ford根本就不需要邻接表。。。。

回头再看一下那个队列优化吧,感觉是自己写崩了。

后来直接重写,最普通的那种bellamn ford 结果过了。。。。

随便说一下,感觉挑战上面的写法有问题,奶牛的编号是从一开始的,可是挑战上面奶牛的编号貌似是从0开始的

#include
#include
using namespace std;const int inf=2100000000;int u[30000],v[30000],w[30000];int dis[10086];int main(){ int n,ml,md; scanf("%d%d%d",&n,&ml,&md); int t=0; for(int i=2;i<=n;i++){ u[t]=i;v[t++]=i-1; } int x,y,wa; for(int i=1;i<=ml;i++){ scanf("%d%d%d",&u[t],&v[t],&w[t]); t++; } for(int i=1;i<=md;i++){ scanf("%d%d%d",&v[t],&u[t],&w[t]); w[t]*=-1;t++; } fill(dis,dis+n+5,inf); int flag=0; dis[1]=0; for(int k=0;k
dis[u[i]]+w[i]){ dis[v[i]]=dis[u[i]]+w[i]; flag=1; } } if(!flag){
break;} } if(dis[1]<0){printf("-1\n");} else if(dis[n]==inf){printf("-2\n");} else printf("%d\n",dis[n]);}

 

转载于:https://www.cnblogs.com/ZGQblogs/p/9093095.html

你可能感兴趣的文章
GRU
查看>>
普及PPT系列教程之PPT色彩统一案例
查看>>
sin()函数的实现
查看>>
UIWebView 自适应高度
查看>>
转正申请书
查看>>
[转载]java中session对象及其常用方法
查看>>
css静态网页css代码
查看>>
oozie4.0.0安装
查看>>
java nio
查看>>
cp命令
查看>>
《算法竞赛入门经典》第1章 程序设计入门
查看>>
hdu 2181 深搜
查看>>
数据库类库FMDB
查看>>
2.3 元组不仅仅是不可变的列表
查看>>
Linux 多线程编程 实例 1
查看>>
C# 类类型
查看>>
搜索框
查看>>
尚需研究之TAB控件
查看>>
直接取子栏目的内容
查看>>
前端不错的网站
查看>>