1750: 仓库建设

题目描述


原题来自:ZJOI 2007
L 公司在山上有一些工厂。由于这座山处于高原内陆地区(干燥少雨),L 公司一般把产品直接堆放在露天,以节省费用。突然有一天,L 公司的总裁 L 先生接到气象部门的电话,被告知三天之后将有一场暴雨,于是 L 先生决定紧急在某些工厂建立一些仓库以免产品被淋坏。
L 公司在山上有
N
N 个工厂。如图所示,工厂
1
1 在山顶,工厂
N
N 在山脚。





由于地形的不同,在不同工厂建立仓库的费用可能不同。工厂
i
i 目前已有成品
P_i
Pi
件,在该厂建立仓库的费用为
C_i
Ci
。对于没有建立仓库的工厂,其产品应被运往其他的仓库进行储藏,而由于 L 公司产品的对外销售处设置在山脚的工厂
N
N,故产品只能往山下运(即只能运往编号更大的工厂的仓库),当然运送产品也是需要费用的,假设一件产品运送
1
1 个单位距离的费用是
1
1。假设建立的仓库容量都都是足够大的,可以容下所有的产品。
已知:
工厂
i
i 距离工厂
1
1 的距离
X_i
X
i
(其中
X_1=0
X1
=0);
工厂
i
i 目前已有成品数量
P_i
Pi

在工厂
i
i 建立仓库的费用
C_i
Ci

请你帮助 L 公司寻找一个仓库建设的方案,使得总的费用(建造费用+运输费用)最小。

输入


第一行包含一个整数
N
N,表示工厂的个数。
接下来
N
N 行,每行包含三个整数
X_i,
Xi
,
P_i,
Pi
,
C_i
Ci
,意义如题中所述。

输出


仅包含一个整数,为可以找到最优方案的费用。

样例输入


3
0 5 10
5 3 100
9 6 10

样例输出


32

提示


样例说明
在工厂
1
1 和工厂
3
3 建立仓库,建立费用为
10+10=20
10+10=20,运输费用为
(9-5)\times 3 = 12
(9−5)×3=12,总费用
32
32。如果仅在工厂
3
3 建立仓库,建立费用为
10
10,运输费用为
(9-0)\times 5
(9−0)×5
+(9-5)\times 3
+(9−5)×3
=57
=57,总费用
67
67,不如前者优。


数据范围与提示
对于全部数据,
N \le 10^6
N≤106,保证所有的
X_i,
Xi
,
P_i,
Pi
,
C_i
C
i
均在 int 范围以内,保证中间计算结果不超过 long long 范围。

来源/分类


ybttg DP 斜率优化

请先 登录 后评论
  • 0 关注
  • 0 收藏,390 浏览
  • 轩爸 提出于 2019-08-02 22:21

相似问题