#P4360. [CEOI2004] 锯木厂选址

    ID: 3291 远端评测题 1000ms 63MiB 尝试: 0 已通过: 0 难度: 6 上传者: 标签>模拟动态规划,dp2004单调队列CEOI模拟退火斜率优化

[CEOI2004] 锯木厂选址

题目描述

从山顶上到山底下沿着一条直线种植了nn棵老树。当地的政府决定把他们砍下来。为了不浪费任何一棵木材,树被砍倒后要运送到锯木厂。

木材只能朝山下运。山脚下有一个锯木厂。另外两个锯木厂将新修建在山路上。你必须决定在哪里修建这两个锯木厂,使得运输的费用总和最小。假定运输每公斤木材每米需要一分钱。

你的任务是编写一个程序,从输入文件中读入树的个数和他们的重量与位置,计算最小运输费用。

输入格式

输入的第一行为一个正整数nn——树的个数(2n20000)(2≤n≤20000)。树从山顶到山脚按照1,2,...,n1,2,...,n标号。

接下来nn行,每行有两个正整数(用空格分开)。

i+1i+1行含有:wiw_i——第ii棵树的重量(公斤为单位)和 did_i——第ii棵树和第i+1i+1棵树之间的距离,1wi10000,0di100001≤w_i≤10000,0≤d_i≤10000

最后一颗树的dnd_n,表示第nn棵树到山脚的锯木厂的距离。保证所有树运到山脚的锯木厂所需要的费用小于2×1092×10^9分。

输出格式

输出最小的运输费用。

9 
1 2 
2 1 
3 3 
1 1 
3 2 
1 6 
2 1 
1 2 
1 1

26

提示

样例图示

黑点为锯木厂

本题共有1313个测试点,每个测试点的数据范围如下

测试点15:n2001-5:n≤200

测试点67:n10006-7:n≤1000

测试点713:n200007-13:n≤20000