zoukankan      html  css  js  c++  java
  • [Offer收割]编程练习赛11 题目4 : 排队接水

    时间限制:10000ms
    单点时限:1000ms
    内存限制:256MB

    描述

    有n个小朋友需要接水,其中第i个小朋友接水需要ai分钟。

    由于水龙头有限,小Hi需要知道如果为第l个到第r个小朋友分配一个水龙头,如何安排他们的接水顺序才能使得他们等待加接水的时间总和最小。

    小Hi总共会有m次询问,你能帮助他解决这个问题吗?

    假设3个小朋友接水的时间分别是2,3,4。如果他们依次接水,第一位小朋友等待加接水的时间是2,第二位小朋友是5,第三位小朋友是9。时间总和是16。

    输入

    第一行一个数T(T<=10),表示数据组数

    对于每一组数据:

    第一行两个数n,m(1<=n,m<=20,000)

    第二行n个数a1...an,表示每个小朋友接水所需时间(ai<=20,000)

    接下来m行,每行两个数l和r

    输出

    对于每次询问,输出一行一个整数,表示答案。

    样例输入
    1
    4 2
    1 2 3 4
    1 2
    2 4
    样例输出
    4
    16

    思路

    莫队算法。待完成。

  • 相关阅读:
    egrep及扩展正则
    grep命令及正则
    Linux管道及I/O重定向
    权限及权限管理
    Linux-用户管理
    Linux用户及权限
    文件名通配
    bash特性-命令历史命令行编辑
    USACO 2014 US Open Decorating The Pastures
    USACO 2014 US Open Odometer /// 枚举
  • 原文地址:https://www.cnblogs.com/deadend/p/6665660.html
Copyright © 2011-2022 走看看