hdu4318 最短路变形
和hdu有一题差不多。给的是损失比,1-c%就是保存了多少,找出最大的保存率即可。
#include<stdio.h>
#include<iostream>
#include<string.h>
#include<queue>
using namespace std;
#define inf 99999999
#define maxn 50010
#define maxm maxn*51
int n,e,head[maxn],pre[maxm],nex[maxm];
double cost[maxm],dis[maxn];
bool vis[maxn];
queue<int> q;
void add(int u,int v,double c)
{
pre[e]=v;
nex[e]=head[u];
cost[e]=c;
head[u]=e++;
}
double spfa(int st,int end)
{
memset(dis,,sizeof(dis));
dis[st]=;
q.push(st);
while(!q.empty())
{
int u=q.front();
vis[u]=;
q.pop();
for(int i=head[u];i!=-;i=nex[i])
if(dis[pre[i]]<dis[u]*(-cost[i]))
{
dis[pre[i]]=dis[u]*(-cost[i]);
if(!vis[pre[i]])
{
q.push(pre[i]);
vis[pre[i]]=;
}
}
}
return dis[end];
}
int main()
{
while(scanf("%d",&n)!=EOF)
{
e=;
memset(head,-,sizeof(head));
for(int i=;i<=n;i++)
{
int m;
scanf("%d",&m);
for(int j=;j<m;j++)
{
int u,c;
scanf("%d%d",&u,&c);
add(i,u,c*1.0/);
}
}
int st,end,tot;
scanf("%d%d%d",&st,&end,&tot);
double px=spfa(st,end);
if(px==)
printf("IMPOSSIBLE!\n");
else
printf("%.2f\n",(-px)*tot); }
return ;
}
hdu4318 最短路变形的更多相关文章
- POJ-2253.Frogger.(求每条路径中最大值的最小值,最短路变形)
做到了这个题,感觉网上的博客是真的水,只有kuangbin大神一句话就点醒了我,所以我写这篇博客是为了让最短路的入门者尽快脱坑...... 本题思路:本题是最短路的变形,要求出最短路中的最大跳跃距离, ...
- POJ 3635 - Full Tank? - [最短路变形][手写二叉堆优化Dijkstra][配对堆优化Dijkstra]
题目链接:http://poj.org/problem?id=3635 题意题解等均参考:POJ 3635 - Full Tank? - [最短路变形][优先队列优化Dijkstra]. 一些口胡: ...
- POJ 3635 - Full Tank? - [最短路变形][优先队列优化Dijkstra]
题目链接:http://poj.org/problem?id=3635 Description After going through the receipts from your car trip ...
- POJ-1797Heavy Transportation,最短路变形,用dijkstra稍加修改就可以了;
Heavy Transportation Time Limit: 3000MS Memory Limit: 30000K Description Background Hugo ...
- HDOJ find the safest road 1596【最短路变形】
find the safest road Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...
- HN0I2000最优乘车 (最短路变形)
HN0I2000最优乘车 (最短路变形) 版权声明:本篇随笔版权归作者YJSheep(www.cnblogs.com/yangyaojia)所有,转载请保留原地址! [试题]为了简化城市公共汽车收费系 ...
- 天梯杯 PAT L2-001. 紧急救援 最短路变形
作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图.在地图上显示有多个分散的城市和一些连接城市的快速道路.每个城市的救援队数量和每一条连接两个城市的快速道路长度都标在地图上.当其他城市有紧急求 ...
- Heavy Transportation POJ 1797 最短路变形
Heavy Transportation POJ 1797 最短路变形 题意 原题链接 题意大体就是说在一个地图上,有n个城市,编号从1 2 3 ... n,m条路,每条路都有相应的承重能力,然后让你 ...
- POJ 2253 Frogger ( 最短路变形 || 最小生成树 )
题意 : 给出二维平面上 N 个点,前两个点为起点和终点,问你从起点到终点的所有路径中拥有最短两点间距是多少. 分析 : ① 考虑最小生成树中 Kruskal 算法,在建树的过程中贪心的从最小的边一个 ...
随机推荐
- day2(老男孩-Python3.5-S14期全栈开发)
作者:赵俊 发布日期:2019/11/5 一.模块初识 import sys '''默认在当前目录下找模块,找不到再去python环境变量中寻找''' print(sys.pat ...
- [转]C#接收邮件
最近由于工作需要,接触到了邮件服务器.以前我用CF写过,感觉没有什么,我想用C#来实现会更简单,但是万万没想到C#没有提供邮件接收的方法,令我很不解.通过我在网上查找,发现了一个国外公司写好的接收邮件 ...
- 数据库访问技术 odbc dao rdo uda jet oledb
一.UDA(UniversalDataAccess) 这是微软提供的通用数据访问策略.包括ADO.OLEDB和ODBC.它不光提供了数据库的访 问能力,对于其它的数据存储技术也同样支持,如目录服务.E ...
- C++stl中vector的几种常用构造方法
#include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #i ...
- stream求集合元素的属性值最值
Person p1 = new Person("张三", new BigDecimal("10.0"));Person p2 = new Person(&quo ...
- Axure 工具的使用
Axure RP是一款专业的快速原型设计工具,Axure RP是美国Axure Software Solution公司旗舰产品,是一个专业的快速原型设计工具,让负责定义需求和规格.设计功能和界面的专家 ...
- shell总结:读取文件、参数、if、分割字符串、数组长度、空文件、变量赋值、多进程、按行切割文件、查看线程
Reference: http://saiyaren.iteye.com/blog/1943207 1. Shell 读取文件和写文件 for line in $(<top30000. ...
- jnhs[未解决]无法使用选定的hibernate配置文件建立数据库连接.请验证hibernate.cfg.xml中的数据库连接详情信息
工程可以正常的使用读写数据库,当然model和model.hbm.xml文件是自己写的. 解决中
- 【洛谷P2722 USACO】 总分 01背包模板
P2722 总分 Score Inflation 题目背景 学生在我们USACO的竞赛中的得分越多我们越高兴. 我们试着设计我们的竞赛以便人们能尽可能的多得分,这需要你的帮助 题目描述 我们可以从几个 ...
- SQL SERVER 自增列的方法
declare @Table_name varchar(60) set @Table_name = ''; if Exists(Select top 1 1 from sysobjects ...