| 题目名称 | 632. [NOIP 2011]观光公交 |
|---|---|
| 输入输出 | bus.in/out |
| 难度等级 | ★★★ |
| 时间限制 | 1000 ms (1 s) |
| 内存限制 | 128 MiB |
| 测试数据 | 20 |
| 题目来源 |
|
| 开放分组 | 全部用户 |
| 提交状态 | |
| 分类标签 | |
| 分享题解 |
| 通过:194, 提交:511, 通过率:37.96% | ||||
|
|
100 | 0.014 s | 0.34 MiB | C++ |
|
|
100 | 0.014 s | 0.48 MiB | C++ |
|
|
100 | 0.021 s | 0.43 MiB | C++ |
|
|
100 | 0.028 s | 0.49 MiB | C++ |
|
|
100 | 0.035 s | 1.48 MiB | C++ |
|
|
100 | 0.035 s | 2.69 MiB | C++ |
|
|
100 | 0.037 s | 1.48 MiB | C++ |
|
|
100 | 0.041 s | 0.47 MiB | Pascal |
|
|
100 | 0.041 s | 0.47 MiB | Pascal |
|
|
100 | 0.041 s | 0.47 MiB | Pascal |
| 本题关联比赛 | |||
| 防止颓废的小练习v0.2 | |||
| 关于 观光公交 的近10条评论(全部评论) | ||||
|---|---|---|---|---|
|
学会了如何使用oalj 1Ahh
2017-09-20 16:18
11楼
| ||||
|
贪心:尽量不等人
2017-09-04 17:18
10楼
| ||||
|
| ||||
|
照着题解都W两边
2016-11-07 16:39
8楼
| ||||
|
总之是get不到贪心的点
2016-11-07 13:52
7楼
| ||||
|
我永远都不知道贪心到底是个神马东东……总之就是奇奇怪怪的算法,自己打死想不出来的那种……
![]()
2016-10-24 21:42
6楼
| ||||
|
O(nk)水过,真是数据弱。手残挂了一次QAQ。
| ||||
|
看错了n的范围想用线段树优化,写maxn的时候才发现是1e3 - -
| ||||
|
| ||||
风景迷人的小城 $Y$ 市,拥有 $n$ 个美丽的景点。由于慕名而来的游客越来越多,$Y$ 市特意安排了一辆观光公交车,为游客提供更便捷的交通服务。观光公交车在第 $0$ 分钟出现在 $1$ 号景点,随后依次前往 $2、3、4……n$ 号景点。从第 $i$ 号景点开到第 $i+1$ 号景点需要 $D_i$ 分钟。
任意时刻,公交车只能往前开,或在景点处等待。
设共有 $m$ 个游客,每位游客需要乘车 $1$ 次从一个景点到达另一个景点,第 $i$ 位游客在 $T_i$ 分钟来到景点 $A_i$,希望乘车前往景点 $B_i(A_i<B_i)$。为了使所有乘客都能顺利到达目的地,公交车在每站都必须等待需要从该景点出发的所有乘客都上车后才能出发开往下一景点。
假设乘客上下车不需要时间。
一个乘客的旅行时间,等于他到达目的地的时刻减去他来到出发地的时刻。因为只有一辆观光车,有时候还要停下来等其他乘客,乘客们纷纷抱怨旅行时间太长了。于是聪明的司机 ZZ 给公交车安装了 $k$ 个氮气加速器,每使用一个加速器,可以使其中一个 $D_i$ 减 $1$。对于同一个 $D_i$ 可以重复使用加速器,但是必须保证使用后 $D_i$ 大于等于 $0$。
那么 ZZ 该如何安排使用加速器,才能使所有乘客的旅行时间总和最小?
第 $1$ 行是 $3$ 个整数 $n, m, k$,分别表示景点数、乘客数和氮气加速器个数。
第 $2$ 行是 $n-1$ 个整数,每两个整数之间用一个空格隔开,第 $i$ 个数表示从第 $i$ 个景点开往第 $i+1$ 个景点所需要的时间,即 $D_i$。
第 $3$ 行至 $m+2$ 行每行 $3$ 个整数 $T_i, A_i, B_i$,每两个整数之间用一个空格隔开。第 $i+2$ 行表示第 $i$ 位乘客来到出发景点的时刻,出发的景点编号和到达的景点编号。
输出共一行,包含一个整数,表示最小的总旅行时间。
3 3 2 1 4 0 1 3 1 1 2 5 2 3
10
对 $D_2$ 使用 $2$ 个加速器,从 $2$ 号景点到 $3$ 号景点时间变为 $2$ 分钟。
公交车在第 $1$ 分钟从 $1$ 号景点出发,第 $2$ 分钟到达 $2$ 号景点,第 $5$ 分钟从 $2$ 号景点出发,第 $7$ 分钟到达 $3$ 号景点。
第 $1$ 个旅客旅行时间 $7-0=7$ 分钟。
第 $2$ 个旅客旅行时间 $2-1 = 1$ 分钟。
第 $3$ 个旅客旅行时间 $7-5 = 2$ 分钟。
总时间 $7+1+2 = 10$ 分钟。
对于 $10\%$ 的数据,$k=0$;
对于 $20\%$ 的数据,$0 \leq k \leq 1$;
对于 $40\%$ 的数据,$2 ≤ n ≤ 50,1 ≤ m≤ 1,000,0 ≤ k ≤ 20,0 ≤ D_i ≤ 10,0 ≤ T_i ≤ 500$;
对于 $60\%$ 的数据,$1 ≤ n ≤ 100,1 ≤ m≤ 1,000,0 ≤ k ≤ 100,0 ≤ D_i ≤ 100,0 ≤ T_i ≤ 10,000$;
对于 $100\%$ 的数据,$1 ≤ n ≤ 1,000,1 ≤ m ≤ 10,000,0 ≤ k ≤ 100,000,0 ≤ D_i ≤ 100,0 ≤ T_i ≤ 100,000$。