题目 1614

「一本通 5.6 练习 5」锯木厂选址

查看题解 ↗GitHub ↗如何评测
题号
1614
时间限制
1000 ms
内存限制
128 MB
标签
斜率优化动态规划

【题目描述】

原题来自:CEOI 2004

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

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

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

【输入】

输入的第一行为一个正整数 nn,表示树的个数 。树从山顶到山脚按照 1,2,⋯ ,n1,2,\cdots ,n 标号。

接下来 nn 行,每行有两个整数 wiw_i和 did_i 。分别表示第 ii 棵树的重量(公斤为单位)和第 ii 棵树和第 i+1i+1 棵树之间的距离。最后一个数 dnd_n ,表示第 nn 棵树到山脚的锯木厂的距离。

【输出】

输出仅一个数,表示最小的运输费用。

【输入样例】

文本
9
1 2
2 1
3 3
1 1
3 2
1 6
2 1
1 2
1 1

【输出样例】

文本
26

【提示】

样例说明

下图展示了对于样例输入的最佳伐木场设置位置,树木用一个圆表示,伐木场用黑色标出。结果为:

数据范围与提示:

对于 97 分的数据,2≤n≤2×104,1≤wi≤104,0≤di≤1042\leq n\leq2\times10^4 ,1\leq w_i\leq10^4 ,0\leq d_i\leq10^4 ,保证所有树运到山脚的锯木厂所需要的费用小于 2×1092\times10^9分。(本部分数据为原数据)

对于另外 33 分的数据,2≤n≤2×1052\leq n\leq2\times10^5 ,保证所有计算均可在 6464 位有符号整数下进行。

【来源】

一本通在线评测

数据下载

题目 1614 的公开数据

正在读取文件列表…

常用命令

题目 1614 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。