2014年4月TOJ月赛解题报告

1005 水沟积水 -by yume

1005 水沟积水  (出自:standard的思路)

一次扫描的线性时间求解。
先看看下图,判断哪个单元格的水能留下来。下图中的两个单元格,一个红色的单元格和一个绿色的单元格,哪个单元格的水是溜走了,哪个单元格的水能留下来?

很明显的,上图中的红色单元格的水会流走,绿色单元格的水会被留下来。

那么,仔细看看这两个单元格的区别在哪儿

区别就是,红色单元格只有右边的挡板比它高(不低于它),而绿色单元格左右两边都有挡板比它高(左边最高是5,右边最高是7)

这也就很好的理解了,如果水要能留下来,必须左右两边的挡板都比它高才行。(很明显的,不管哪一侧的挡板比水低,水就会朝哪个方向流出去)

于是我们采取两端逼近的思路:
直接从两头开始,把左右端点定好,从低的那一段慢慢向中间靠近。
靠近的过程中一共有两个判断:
1.如果高度低于两端最低的位置,那就加上水的储存量
2.如果高于两端最低的位置,那就更新两端高度

于是就有了这种边逼近,边求解的方法。

 


为解题报告打分
暂时不评分

★★
★★★
★★★★
★★★★★
发表您的评论(若贴AC代码或发表禁止言论等违禁行为将被删除并扣除积分)

|返回 |   | 转到页头|
Copyright @ 2008-2024(浙ICP备2022001332号), TZOJ. All Rights Reserved.