P4677 山区建小学

    • 446通过
    • 738提交
  • 题目提供者 中国飞鱼
  • 评测方式 云端评测
  • 标签 前缀和 动态规划,动规,dp 递推
  • 难度 普及+/提高
  • 时空限制 1000ms / 128MB

题解

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

    最新讨论 显示

    推荐的相关题目 显示

    题目描述

    政府在某山区修建了一条道路,恰好穿越总共$n$个村庄的每个村庄一次,没有回路或交叉,任意两个村庄只能通过这条路来往。已知任意两个相邻的村庄之间的距离为$d_i$(为正整数),其中,$0<i<n$。为了提高山区的文化素质,政府又决定从$n$个村中选择$m$个村建小学。请根据给定的$n$、$m$以及所有相邻村庄的距离,选择在哪些村庄建小学,才使得所有村到最近小学的距离总和最小,计算最小值。

    输入输出格式

    输入格式:

    第1行为n和m,其间用空格间隔。

    第2行为n-1个整数,依次表示从一端到另一端的相邻村庄的距离,整数之间以空格间隔。

    例如

    10 3

    2 4 6 5 2 4 3 1 3

    表示在10个村庄中建3所学校。第1个村庄与第2个村庄距离为2,第2个村庄与第3个村庄距离为4,第3个村庄与第4个村庄距离为6,...,第9个村庄到第10个村庄的距离为3。

    输出格式:

    各村庄到最近学校的距离之和的最小值。

    输入输出样例

    输入样例#1: 复制
    10 2
    3 1 3 1 1 1 1 1 3
    输出样例#1: 复制
    18

    说明

    0 < $m$ <= $n$ < 500

    0 < $d_i$ <=100

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