HDU 4318 Power transmission
来源:互联网 发布:overlay网络原理 编辑:程序博客网 时间:2024/06/05 03:56
九野的博客,转载请注明出处:http://blog.csdn.net/acmmmm/article/details/11819419
题意:给定n个点,下面n行
i行:
k表示i点连接的边数
i连接的点 边权值
最后一行 起点 终点 输入起点电量
求一条最短路
dij裸题,注意边排序。
用spfa可以防止边排序错误的dij无限TL
#include<iostream>#include<stdio.h>#include<string>#include<string.h>#include<algorithm>#include<map>#include<list>#include<set>#include<vector>#include<queue>#include<iomanip>#include<math.h>#define N 50500#define M 50500*50#define inf 1000000000000#define ll intusing namespace std;inline ll Max(ll a,ll b){return a>b?a:b;}inline ll Min(ll a,ll b){return a<b?a:b;}struct node{ll t,nex;double w;}edge[M];int head[N],edgenum;void addedge(int u,int v,double w){node E={v,head[u],0.01*w};edge[edgenum]=E;head[u]=edgenum++;}ll n,s,t;double all,dis[N];void init(){int k,v;double w;memset(head,-1,sizeof(head));edgenum=0;for(int u=1;u<=n;u++){scanf("%d",&k);while(k--){scanf("%d %lf",&v,&w);addedge(u,v,w);}}scanf("%d %d %lf",&s,&t,&all);for(int i=0;i<=n;i++)dis[i]=1;}struct quedge{int p;double d;quedge(int a=0,double b=0):p(a),d(b){}bool operator<(const quedge& a)const{return a.d<d;}};void dij(){dis[s]=0;priority_queue<quedge> q;q.push(quedge(s,0));//点和已损失率while(!q.empty()){quedge temp=q.top(); q.pop();int u=temp.p; double pow=temp.d;for(int i=head[u];i!=-1;i=edge[i].nex){int v=edge[i].t;if(dis[v]>pow+(1-pow)*edge[i].w){dis[v]=pow+(1-pow)*edge[i].w;if(v!=t)q.push(quedge(v,dis[v]));}}}}int main(){ll i,j,k;while(~scanf("%d",&n)){init();dij();printf("%.2lf\n",dis[t]*all);}return 0;}
- hdu 4318 Power transmission
- hdu 4318 Power transmission
- HDU 4318 Power transmission
- HDU 4318 Power transmission
- HDU-4318-Power transmission
- hdu 4318 Power transmission(最短路)
- HDU 4318 Power transmission(最短路变形)
- HDU OJ 4318 Power transmission【最短路spfa】
- hdu - 4318 - Power transmission - 最短路+贪心
- hdu 4318 Power transmission 临接表 广搜 多校联合赛(二) 第九题
- HDU 4318 Power transmission (dijkstra && 邻接表从队友那里抄来的,当作模板吧)
- HDU 4318 Power transmission 最长路 (dijkstra + 优先队列) 水
- uva 10330 - Power Transmission
- SPFA: Power Transmission
- 10330 - Power Transmission
- UVa:10330 Power Transmission
- UVa10330 Power Transmission
- uva 10330Power Transmission
- 制作ext2文件系统的方法
- android中requestFocus
- Shell编程-变量
- 如何判断系统中登录用户数
- poj1523 SPF 无向连通图 求割点 关节点 tarjan算法
- HDU 4318 Power transmission
- vector中的erase方法跟algorithm的remove
- hdu4734之数位dp
- 常用的字符串处理函数
- 手机风波(二)の惊喜篇
- 红黑树
- 十万行代码
- recv send 阻塞和非阻塞
- [每日一题] 11gOCP 1z0-052 :2013-09-18 理解EXPDP/IMPDP.......................................B36