P2275 [HNOI2002]灌溉问题

    • 2通过
    • 21提交
  • 题目提供者 xmyzwls 管理员
  • 评测方式 云端评测
  • 标签 Splay Treap 概率论,统计 各省省选 2002 湖南
  • 难度 尚无评定
  • 时空限制 1000ms / 128MB

题解

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

    最新讨论 显示

    推荐的相关题目 显示

    题目描述

    久居山区的人们一直都为水源的问题而烦恼,缺水使得他们的农田无法获得好的收成。最近,一条好消息传来:政府将提供资金为他们开凿一条水道,将唯一的水源¬——山顶一个湖泊中的水引入他们的村落。人们顿时都高兴了起来,他们的农田终于可以丰收了。

    然而,在开凿水道时,人们却遇到了一个难题:怎样开凿才能得到最大的丰收呢?

    要知道,山顶的水是非常有限的,并不可能灌溉到每一个地区。而且,不同地区的土地肥沃程度也是不一样的。虽然并非只有河流经过的地区才能被灌溉,但也不可能将水从很远的地方引过来。你现在必须想办法帮他们解决这个问题。

    首先,你可以将这个山区划分成N*N的区域,湖泊的位置(x,y),以及每个区域的海拔高度(开凿出的河流显然只能从高往低流),还有每块区域的土地价值也是已知的。同时,需要注意的是,你的河流是不允许有分支(支流)的,最多只能灌溉M块土地,而且被灌溉的土地只能在离河流的R格范围以内(包含对角线)。

    注意:河流经过的地区土地依然保持其价值,可以选择是否对其灌溉。

    你的目的就是找出一条最好的开凿河流的方法,使得能灌溉的土地价值总和最高。

    输入输出格式

    输入格式:

    文件第一行为三个整数N,M,R,分别给出区域的边长,最多灌溉的土地数和被灌溉土地到河流的最大允许距离。(N<=20,M<=50,R<=5)

    文件的第二行为两个整数x,y,给出了湖泊的位置。

    接下来是两个N*N的矩阵,第一个矩阵是各区域的海拔高度,第二个矩阵是各区域的土地价值。

    输出格式:

    输出文件为river.out。 文件中只有一个整数max,是你的程序计算出的最大价值。

    输入输出样例

    输入样例#1: 复制
    5 5 1
    3 3
    1 1 1 1 1
    1 6 9 5 1
    1 3 10 3 1
    1 2 1 2 1
    1 1 1 1 1
    
    4 1 1 1 2
    1 1 1 1 1
    1 2 3 1 2
    1 2 1 1 1
    1 1 1 1 1
    
    输出样例#1: 复制
    12
    提示
    标程仅供做题后或实在无思路时参考。
    请自觉、自律地使用该功能并请对自己的学习负责。
    如果发现恶意抄袭标程,将按照I类违反进行处理。