Problem 2. drive

Input file: drive.in
Output file: drive.out
Time limit: 2 second
工头cky 最近开了一家贸易公司,开始经商。作为cky 的忠实小弟,jyb 当了cky 老总的司机。一天晚上,
cky 突然找到了一个新的客户,所以第二天一早要急着从成都去上海谈生意(设全国一共有n 个城市, 成都
编号为1,上海编号为n),城市之间有高速公路,每条高速公路都有一个最高限速和长度。cky 想:我应该
在今晚就告诉客户我最快多久能到上海,不然客户就可能先和别人谈生意了。所以他就让jyb 计算一下最快
多久能到。
jyb 作为一名经验丰富的老司机,看了一眼天气预报,天气预报说:全国范围内有一条高速公路第二天可能
下大雨(大雨天气的话,车速会下降75%),但坑爹的是居然不知道是哪一条,准确信息要第二天一早才知
道。现在jyb 拥有全国高速公路图,为了回答一个尽量早但又不失信于客户的时间,jyb 想请你帮帮忙。
ps: 虽然cky 很急,但是他还是告诫jyb 不能超速行驶。
第二天知道哪会下雨后,jyb 自然会作出正确的抉择。
迟到肯定就是失信于客户啦!
Input
第1 行,2 个整数n;m,表示城市数和高速公路数。
接下来m 行,每行4 个整数u; v; speed; length,表示该条高速公路连接的两个城市u; v,以及最高限速speed
和路长length。
Output
输出满足题意的时间,保留4 位小数。
Sample
drive.in
3 3
1 2 100 100
2 3 100 100
1 3 100 400
drive.out
4.0000
drive.in
2 1
1 2 100 100
drive.out
4.0000
Note
• 对于30% 的数据,1 n 102,1 m 103;
• 对于100% 的数据,1 n 4 103,1 m 104,60 speed 120 ,200 length 1000。

注意是单向边(题说错了)
盗版玛丽卡,STL优化dijkstra超时(因为是稀疏图)
先求最短路,在一条一条地下雨

#include<iostream>
#include<cstdio>
#include<queue>
#include<algorithm>
#include<cstring>
const double INF = 1000000000.0;
const int maxn = 40005;
const int maxm = 300000 + 5;
using namespace std;
struct edge{int u,v,next;double w;
}e[maxm];
int h[maxn],cnt,pre[maxn];
double dis[maxn];
bool vis[maxn];
int q[maxn],head,tail;
int n,m;void adde(int u,int v,double w){e[++cnt].u = u;e[cnt].v = v;e[cnt].w = w;e[cnt].next = h[u];h[u] = cnt;
}void init(){for(int i = 2; i <= n; i++)dis[i] = 1000000.0;head = 0;tail = 1;q[0] = 1;vis[1] = true;
}double spfa( bool ort ){init();while( head != tail ){int u = q[head];for( int i = h[u]; i; i = e[i].next){int v = e[i].v;if( dis[v] > dis[u] + e[i].w ){dis[v] = dis[u] + e[i].w;if( ort )pre[v] = i;if( !vis[v] ){vis[v] = true;q[tail] = v;tail++;}}}vis[u] = false;head++;}return dis[n];
}int main() {freopen("drive.in","r",stdin);freopen("drive.out","w",stdout);scanf("%d%d",&n,&m);int u,v;double spd,len;for( int i = 1; i <= m; i++ ){scanf("%d%d%lf%lf",&u,&v,&spd,&len);adde(u,v,len/spd);}int now = n;double ans = spfa(true);while( now != 1 ){e[pre[now]].w *= 4.0;ans = max(ans,spfa(false));e[pre[now]].w /= 4.0;now = e[pre[now]].u;}printf("%.4lf\n",ans);return 0;
}

[机房练习赛4.3]drive相关推荐

  1. [机房练习赛4.7] 深意 KMP

    深意(meaning.in/meaning.out) 有的词语常常别有深意,比如hehe可以单纯的表示hehe,也可以表示"excuse me?!",现给出一段话s,和一个单词t, ...

  2. 【机房练习赛 5.15】奇袭 CF526F Pudding Monsters

    题面 Pudding Monsters 问题描述 由于各种原因,桐人现在被困在 UnderWorldUnder WorldUnderWorld(以下简称 UWUWUW)中,而 UWUWUW 马上要迎来 ...

  3. 20170117 机房『练习赛』

    20170117 机房『练习赛』 现代科学,面广枝繁,不是一辈子学得了的.惟一的办法是集中精力,先打破一缺口,建立一块或几块根据地,然后乘胜追击,逐步扩大研究领域.此法单刀直入,易见成效. -- 王梓 ...

  4. 机房对拷软件使用随记 非ABC类IP能作为局域网吗?

    一.机房对拷软件使用随记 教室环境:后方一个TPLINK总交换机,串联9个tplink 8口百兆交换机 + 1个8口百兆H3C交换机. 现在故障:客户进行对拷操作,速度极慢(10MB/min),过了一 ...

  5. Hard Drive

    无意中看到博客堂的一篇关于微软创业的帖子.回想当初,自己11岁的时候,就开始学习计算机编程,也是因为一本Bill Gates写的<未来之路>,才激发自己对于计算机,对于编程那么大的热情. ...

  6. 机房收费系统总结【5】——无用功

    前言: 机房开始得晚,听同学们说画流程图有助于了解逻辑!所以我就开始吭哧吭哧的画流程图!后来发现流程图的作用就是帮助我理解别人代码,改进代码!因为很长的一段代码放那里,不容易直观理解! 过程: 但是在 ...

  7. 机房收费系统总结【2】-细节优化

    前言: 机房收费的过程中遇到了很多以前没有发现的问题! 问题1: 我们都要给用户提示,询问用户是否确认关闭窗体,这个功能还是有必要的,万一一不小心点击退出!保障措施! 解决:在卸载事件里写这样的代码, ...

  8. 机房收费系统总结【1】-整体流程

    前言: 拖了3个月终于学完了机房收费,真正做机房的时间不到一个月,拖了好久,不应该! 以后,在学习的过程中遇到的问题(计算机+心得体会)在今目标的项目上简单标注! 这个过程中自己解决的问题博客总结!还 ...

  9. 机房收费系统【VB版】——选择下机

    前言: 今天实现机房收费系统--一般用户--学生上机状态查看--选中全部/部分下机部分收获很多!多亏了看光哥的博客,写的很清楚机房收费系统--上机状态查询之下机 过程: 要显示的表格式写查询,就会出来 ...

最新文章

  1. python编写通讯录管理系统_一个简单的python程序实例(通讯录)
  2. C语言编译、链接过程探究
  3. ProxySQL 故障
  4. 【图像处理opencv】_图像几何变换
  5. [13年迁移]firefoxfocus为火狐新建焦点事件
  6. idea进行断点快捷键
  7. Redis详解(五)——Redis多实例
  8. 软件测试基本功 系列教程
  9. 虚拟机nas服务器,VMware虚拟机搭建安装黑群晖NAS服务器
  10. c预言plc编程语言,【讨论】对于PLC的编程语言STL、LAD、SCL等,你用的哪种语言呢?...
  11. 应届生产品助理/经理面试,应当多谈点什么?
  12. 图谱笔记(概念梳理)
  13. 按计算机应用领域分类,按计算机用途分类
  14. 基础知识系列博客——计算机组成原理
  15. 计算机excel按F4是那个公式,excel中键盘F4到底怎么用?_excle 中的f4
  16. 关于基于kangle和EP面板使用CDN
  17. PAT 乙级真题 1032 挖掘机技术哪家强 (附测试点2)
  18. 【C51】基于51单片机的简易频率计(附代码、无需外设、小白简单易上手)
  19. mk突变点检测_MK检验突变分析 matlab
  20. 走航式海洋多参数剖面测量系统(MVP)验收记录

热门文章

  1. MATLAB——Harris角点检测
  2. mac os下 Ruby环境安装方法
  3. CTFHUB-SQL注入
  4. 动什么别动感情 第66节:你不是一个虚荣的女性
  5. iOS 局域网通讯 MultipeerConnectivity
  6. python自然语言处理入门-新手上路
  7. 不看会后悔的100个超有趣冷知识(一)
  8. 主机win7和虚拟机xp之间的文件传输
  9. 转载_纯Java代码批量去除图片文字水印
  10. Mac终端解压缩命令大全