JZOJ 5771. 【NOIP2008模拟】遨游
5771. 【NOIP2008模拟】遨游
(File IO): input:trip.in output:trip.out
Description
此时恰逢春运期间,S国交通运输局采取了优惠措施。当一条路的路费在[L..R]区间时,可免去。同时,每个省也有优惠措施,第i个省内的每条道路路费收其Xi%,连接第i个省和第j个省的每条道路路费收其(Xi%+Xj%)/2。
MWH想从城市s走到城市t,请求出一对L,R,确保:
- MWH能免费到达目的地;
- L≤R;
- L、R均为整数;
- L尽可能地大,R在满足L最大的前提下最小。
注意:因每条道路由各省的交通运输局直接管辖,所以每条道路的路费必须先得到省级优惠,再得到国家级优惠。
Input
接下来M行,每行三个整数,u、v、w,表示连接u、v的道路需收费w。
接下来N行,第i+M+1行有一个整数Ti,后面Ti个整数,分别是Ci1..CiTi(所有城市编号保证按正整数顺序给出1.. Ti)。
下一行N个整数X1..Xi。
最后一行,两个整数,s、t。
Output
Sample Input
3 7
1 2 3
5 2 8
1 3 7
5 4 5
2 4 9
3 5 10
3 4 2
2 1 2
1 3
2 4 5
30 50 60
1 5
Sample Output
2 6
aaarticlea/png;base64,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" alt=" " />
#include <cstdio>
#include <cstring>
#include <iostream>
#include <cmath>
#include <queue>
#define M 500007
#define N 200007
using namespace std;
struct edge
{
int to, next;
double val;
}e[N];
int n, m, ls[N], x[N], y[N], t[N], start, end, tot, tma, tin = , l, r, dis[N], L, R, ans1, ans2;
double z[N], cut[N];
bool v[N], b[N];
queue<int> q; void add(int u, int v, double w)
{
e[++tot].to = v;
e[tot].next = ls[u];
e[tot].val = w;
ls[u] = tot;
e[++tot].to = u;
e[tot].next = ls[v];
e[tot].val = w;
ls[v] = tot;
} void init()
{
scanf("%d%d", &n, &m);
for (int i = ; i <= m; i++)
scanf("%d%d%lf", &x[i], &y[i], &z[i]);
for (int i = ; i <= n; i++)
{
int T, u;
scanf("%d", &T);
for (int j = ; j <= T; j++)
scanf("%d", &u), t[u] = i;
}
for (int i = ; i <= n; i++)
scanf("%lf", &cut[i]), cut[i] /= ;
scanf("%d%d", &start, &end);
for (int i = ; i <= m; i++)
{
if (t[x[i]] != t[y[i]])
{
add(x[i], y[i], z[i] * ((cut[t[x[i]]] + cut[t[y[i]]]) / ));
tin = min(tin, (int)(z[i] * ((cut[t[x[i]]] + cut[t[y[i]]]) / )));
tma = max(tma, (int)(z[i] * ((cut[t[x[i]]] + cut[t[y[i]]]) / )));
}
else
{
add(x[i], y[i], z[i] * cut[t[x[i]]]);
tin = min(tin, (int)(z[i] * ((cut[t[x[i]]] + cut[t[y[i]]]) / )));
tma = max(tma, (int)(z[i] * ((cut[t[x[i]]] + cut[t[y[i]]]) / )));
}
}
} bool check(int judge1, int judge2)
{
memset(v, , sizeof(v));
for (int i = ; i <= tot; i++)
if (e[i].val >= judge1 && e[i].val <= judge2) v[i] = ;
memset(b, , sizeof(b));
memset(dis, 0x7f7f7f7f, sizeof(dis));
dis[start] = ;
q.push(start);
b[start] = ;
while (!q.empty())
{
int now = q.front();
q.pop();
for (int i = ls[now]; i; i = e[i].next)
{
if (!v[i]) continue;
if (dis[now] + >= dis[e[i].to]) continue;
dis[e[i].to] = dis[now] + ;
if (b[e[i].to]) continue;
q.push(e[i].to);
b[e[i].to] = ;
}
b[now] = ;
}
if (dis[end] != 0x7f7f7f7f) return ;
return ;
} void work()
{
l = tin, r = tma + ;
while (l < r)
{
int mid = (l + r + ) / ;
if (check(mid, tma + )) l = mid;
else r = mid - ;
}
L = l;
l = tin, r = tma + ;
while (l < r)
{
int mid = (l + r) / ;
if (check(L, mid)) r = mid;
else l = mid + ;
}
R = l;
printf("%d %d", L, R);
} int main()
{
freopen("trip.in", "r", stdin);
freopen("trip.out", "w", stdout);
init();
work();
}
JZOJ 5771. 【NOIP2008模拟】遨游的更多相关文章
- JZOJ 5777. 【NOIP2008模拟】小x玩游戏
5777. [NOIP2008模拟]小x玩游戏 (File IO): input:game.in output:game.out Time Limits: 1000 ms Memory Limits ...
- JZOJ 5809. 【NOIP2008模拟】数羊
5809. [NOIP2008模拟]数羊 (File IO): input:sheep.in output:sheep.out Time Limits: 1000 ms Memory Limits: ...
- JZOJ 5793. 【NOIP2008模拟】小S练跑步
5793. [NOIP2008模拟]小S练跑步 (File IO): input:run.in output:run.out Time Limits: 2000 ms Memory Limits: ...
- JZOJ 5791. 【NOIP2008模拟】阶乘
5791. [NOIP2008模拟]阶乘 (File IO): input:factorial.in output:factorial.out Time Limits: 1000 ms Memory ...
- JZOJ 5776. 【NOIP2008模拟】小x游世界树
5776. [NOIP2008模拟]小x游世界树 (File IO): input:yggdrasil.in output:yggdrasil.out Time Limits: 1500 ms Me ...
- JZOJ 5775. 【NOIP2008模拟】农夫约的假期
5775. [NOIP2008模拟]农夫约的假期 (File IO): input:shuru.in output:shuru.out Time Limits: 1000 ms Memory Lim ...
- JZOJ 5773. 【NOIP2008模拟】简单数学题
5773. [NOIP2008模拟]简单数学题 (File IO): input:math.in output:math.out Time Limits: 1000 ms Memory Limits ...
- JZOJ5776. 【NOIP2008模拟】小x游世界树
题目:[NOIP2008模拟]小x游世界树: 题目的附加题解给的很清楚,这里只给一个代码: #include<iostream> #include<cstdio> #inclu ...
- JZOJ【NOIP2013模拟联考14】隐藏指令
JZOJ[NOIP2013模拟联考14]隐藏指令 题目 Description 在d维欧几里得空间中,指令是一个长度为2N的串.串的每一个元素为d个正交基的方向及反方向之一.例如,d = 1时(数轴) ...
随机推荐
- URAL 2080 Wallet
找规律发现只要找到两个相同数字之间,有多少个不同的数字,即为答案. 可以用树状数组离线处理. 坑点是卡有很多张,没用完的情况,后面的卡直接放在哪里, 就是 10 5 1 2 3 4 5 这样 开始数据 ...
- Storm概念学习系列之storm的特性
不多说,直接上干货! storm的特性 Storm 是一个开源的分布式实时计算系统,可以简单.可靠地处理大量的数据流. Storm支持水平扩展,具有高容错性,保证每个消息都会得到处理,而且处理速度很快 ...
- Python踩坑之旅其一杀不死的Shell子进程
目录 1.1 踩坑案例 1.2 填坑解法 1.3 坑位分析 1.4 坑后扩展 1.4.1 扩展知识 1.4.1 技术关键字 1.5 填坑总结 1.1 踩坑案例 踩坑的程序是个常驻的Agent类管理进程 ...
- Toad for Oracle针对于Oracle数据库的可视化管理工具使用
Toad for Oracle安装包下载地址:http://pan.baidu.com/s/1mgBOLZU 在Oracle应用程序的开发过程中,访问数据库对象和编写SQL程序是一件乏味且耗费时间的工 ...
- matlab 文件打开设置
平台 macOS MATLAB 版本 matlab 2017a 需要设置文件打开编码的情况 从windows平台迁移过来的.m文件的编码格式是GB2312的, 而macOS的MATLAB默认是UTF- ...
- 如何配置阿里Maven镜像
1.下载maven的zip解压,官方下载地址为:http://maven.apache.org/download.cgi 选择需要下载maven的版本就好了 2.到下载的maven路径下,conf/s ...
- 用简单的方法学习ES6
ES6 简要概览 这里是ES6 简要概览.本文大量参考了ES6特性代码仓库,请允许我感谢其作者@Luke Hoban的卓越贡献,也感谢@Axel Rauschmayer所作的[优秀书籍]//explo ...
- [翻译] Facebook HHVM 团队封闭开发三周成果展
本人翻译的一篇文章,首发于伯乐在线. [补充信息]HipHop for PHP是一系列PHP脚本语言的程式码转换器的集合,它包含HPHPc.HPHPi.HPHPd以及HHVM,这四个脚本引擎各有所不同 ...
- BZOJ3624: [Apio2008]免费道路(最小生成树)
题意 题目链接 Sol 首先答案一定是一棵树 这棵树上有一些0边是必须要选的,我们先把他们找出来,如果数量$\geqslant k$显然无解 再考虑继续往里面加0的边,判断能否加到k条即可 具体做法是 ...
- <Android 应用 之路> 天气预报(四)
前言 第二次尝试完成天气预报应用,与上次不同的是,个人感觉这次的Ui不那么丑陋,整体的实用性和界面效果,用户体验相较上一次有所提升,但是还是有很多地方需要完善. 这次使用到的内容比较丰富,包括聚合数据 ...