(poj 1724 ROADS)<二维最短路+DP>
来源:互联网 发布:门罗主义 知乎 编辑:程序博客网 时间:2024/06/15 15:50
传送门
题意:每条边有长度和代价,在代价不超过k的前提下走最短路
dis[i][j]表示走到点i花费j的代价的最短路
所以dis[i][j]=min{dis[u][j-e[i].cost]+e[i].d}
很像背包
Code
// by spli#include<cstring>#include<iostream>#include<queue>#include<algorithm>#include<cstdio>using namespace std;const int N=210;const int M=10010;const int K=10010;const int inf=1061109567;//用memset赋值数组得到的值int k,n,m;struct node{ int to,nxt,d,v;}e[M];int head[N],cnt;int dis[N][K];bool vis[N];queue<int>q;void add(int f,int t,int v,int c){ cnt++; e[cnt]=(node){t,head[f],v,c}; head[f]=cnt;}void spfa(){ memset(dis,0x3f3f3f3f,sizeof(dis)); q.push(1);dis[1][0]=0;vis[1]=1; while(!q.empty()){ int u=q.front(); q.pop(); vis[u]=0; for(int i=head[u];i!=-1;i=e[i].nxt){ int v=e[i].to; for(int j=e[i].v;j<=k;++j) if(dis[u][j-e[i].v]+e[i].d<dis[v][j]){ dis[v][j]=dis[u][j-e[i].v]+e[i].d; if(!vis[v]){ q.push(v); vis[v]=1; } } } }}int main(){ memset(head,-1,sizeof(head)); scanf("%d%d%d",&k,&n,&m); int s,t,d,c; for(int i=1;i<=m;++i){ scanf("%d%d%d%d",&s,&t,&d,&c); add(s,t,d,c); } spfa(); int ans=inf; for(int i=0;i<=k;++i) ans=min(ans,dis[n][i]); if(ans>=inf) cout<<-1; else cout<<ans; return 0;}
阅读全文
0 0
- (poj 1724 ROADS)<二维最短路+DP>
- 【POJ】1724 ROADS 二维最短路
- Poj 1724 ROADS【二维限制最短路+SPFA】
- POJ 1724 ROADS(bfs最短路)
- POJ 3411 Paid Roads (最短路 + dp)
- POJ 1724 ROADS 最短路
- POJ1724 ROADS [最短路变形 二维dp+spfa]
- [POJ 1724] ROADS (有约束条件的最短路)
- POJ 1724ROADS(费用最短路:优先队列+BFS)
- 【poj 1724】 ROADS 最短路(dijkstra+优先队列)
- POJ 1724 ROADS 有条件最短路
- 【POJ 1724】Roads (限制最短路)
- Poj 3411 Paid Roads(最短路)
- poj-ROADS(最短路变形)
- poj 1724 ROADS 加限制的最短路
- POJ 1724 - ROADS 有限制的最短路,A*
- POJ 1724 ROADS 最短路 邻接表 + bfs +优先队列
- Poj 1724 ROADS (搜索 最短路 BFS优先队列)
- java中使用poi导出数据到EXCEL模板中。
- 认识AJAX
- mysql 查询优化
- 西游日记7/27
- 2017年多校联合训练 第二场(成电)
- (poj 1724 ROADS)<二维最短路+DP>
- Git教程之一个团队如何在github上协作开发
- 华为OJ——找出字符串中第一个只出现一次的字符
- Android之jni出现JNIEnv has no member named 'GetMehtodID'解决办法
- JAVASCRIPT的第四天
- Apcahe+Python Webserver 显示乱码问题
- caffe vs 2013 cpu 训练minist
- 每天进步一点点——五分钟理解一致性哈希算法(consistent hashing)
- openfire服务的安装(二)