P4360 [CEOI2004]锯木厂选址

    • 569通过
    • 1.4K提交
  • 题目提供者 hdxrie
  • 评测方式 云端评测
  • 标签 动态规划,动规,dp 单调队列 斜率优化 模拟 模拟退火
  • 难度 省选/NOI-
  • 时空限制 1000ms / 64MB

题解

  • 提示:收藏到任务计划后,可在首页查看。
  • 体验新版界面

    最新讨论 显示

    推荐的相关题目 显示

    题目描述

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

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

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

    输入输出格式

    输入格式:

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

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

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

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

    输出格式:

    输出最小的运输费用。

    输入输出样例

    输入样例#1: 复制
    9 
    1 2 
    2 1 
    3 3 
    1 1 
    3 2 
    1 6 
    2 1 
    1 2 
    1 1
    
    输出样例#1: 复制
    26

    说明

    样例图示

    黑点为锯木厂

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

    测试点$1-5:n≤200$;

    测试点$6-7:n≤1000$;

    测试点$7-13:n≤20000$;

    提示
    标程仅供做题后或实在无思路时参考。
    请自觉、自律地使用该功能并请对自己的学习负责。
    如果发现恶意抄袭标程,将按照I类违反进行处理。