分层图,bzoj2763: [JLOI2011]飞行路线
来源:互联网 发布:java 获取扫描枪数据 编辑:程序博客网 时间:2024/04/29 15:55
分层图,就是在图中dp,通常是有几条路免费。
模板(2763: [JLOI2011]飞行路线)
#include<stdio.h>#include<string.h>#include<queue>#include<algorithm>using namespace std;struct node{int to,next,len;}edge[100005];int head[50005];int cnt;void add(int f,int t,int l){edge[cnt].to=t;edge[cnt].len=l;edge[cnt].next=head[f];head[f]=cnt++;}int n,m,k,s,t;int f[10005][15];int ans=0x3f3f3f3f;struct nn{int pos,tim,val;};priority_queue<nn>Q;bool operator< (nn a,nn b){return a.val>b.val;}void spfa(){memset(f,0x3f,sizeof(f));f[s][0]=0;nn st;st.pos=s;st.tim=0;st.val=0;Q.push(st);while(!Q.empty()){nn u=Q.top();Q.pop();if(u.pos==t){ans=min(ans,u.val);continue;}for(int i=head[u.pos];i!=-1;i=edge[i].next){int v=edge[i].to;if(f[v][u.tim]>f[u.pos][u.tim]+edge[i].len){f[v][u.tim]=f[u.pos][u.tim]+edge[i].len;nn vv;vv.pos=v;vv.tim=u.tim;vv.val=f[u.pos][u.tim]+edge[i].len;Q.push(vv);}if(u.tim+1>k)continue;if(f[v][u.tim+1]>f[u.pos][u.tim]){f[v][u.tim+1]=f[u.pos][u.tim];nn vv;vv.pos=v;vv.tim=u.tim+1;vv.val=f[u.pos][u.tim];Q.push(vv);}}}}int main(){scanf("%d %d %d",&n,&m,&k);scanf("%d %d",&s,&t);memset(head,-1,sizeof(head));for(int i=1;i<=m;i++){int a,b,c;scanf("%d %d %d",&a,&b,&c);add(a,b,c);add(b,a,c);}spfa();printf("%d",ans);}
0 0
- 【BZOJ2763】【JLOI2011】飞行路线 分层图
- 分层图,bzoj2763: [JLOI2011]飞行路线
- [BZOJ2763][JLOI2011][分层图最短路]飞行路线
- bzoj2763: [JLOI2011]飞行路线 分层图最短路
- BZOJ2763 [JLOI2011]飞行路线(分层图最短路)
- 【JLOI2011】【bzoj2763】飞行路线 分层图最短路
- BZOJ2763[JLOI2011]飞行路线 【分层图最短路】
- bzoj2763[JLOI2011]飞行路线 分层图最短路
- [bzoj2763]2763: [JLOI2011]飞行路线 分层图最短路
- bzoj2763 [JLOI2011]飞行路线(分层图最短路)
- 【bzoj2763】 JLOI2011飞行路线 分层最短路
- 【JLOI2011】【BZOJ2763】飞行路线
- BZOJ2763: [JLOI2011]飞行路线
- bzoj2763【JLOI2011】飞行路线
- BZOJ2763 [JLOI2011]飞行路线
- 【bzoj2763】[JLOI2011]飞行路线
- [BZOJ2763][JLOI2011]飞行路线
- 【bzoj2763】[JLOI2011]飞行路线
- hdu 1754
- sqlite3数据库基础语句
- discrete adaboost的C++实现
- iOS软件开发 设置cell动画效果
- SAP AFS 6.4新增功能介绍
- 分层图,bzoj2763: [JLOI2011]飞行路线
- Objective-C 【NSPoint&CGPoint-NSSize&CGSize-NSRect&NSRect】
- 关于同步操作和数据同步的问题
- 深入理解Java:注解(Annotation)自定义注解入门
- 自定义Toast
- 扩展欧几里得算法的理解
- 2386 Lake Counting【dfs】
- 微信支付接口 订单号重复
- android SlidingUpPanel(二)