2010年11月18日 星期四

POJ 2227 The Wedding Juicer 二叉堆优先队列

题目大意是在一个布满坑的地图上灌水,求最大储水量。

显然边界的坑是无法储水的,因此可以将边界的坑都加入一个保证坑的高度最小的优先队列(用二叉堆实现)。然后每次取出队列顶端的节点进行四个方向的灌水(如果高度比当前水位高度低则可增加储水量),将未曾加入队列的节点加入队列中继续这个过程直到队列为空即可。因为是从边界开始灌水,可以保证结果的正确性,同时显然可以确定每个坑只进出队列一次。故时间复杂度为O(nmlog(nm))。

7891534    IwfWcf    2227    Accepted    1288K    1719MS    G++    1631B    2010-11-18 18:22:05

0 评论:

发表评论

相关文章

 
Creative Commons License
除非另有声明,本网站采用知识共享署名-非商业性使用-相同方式共享 3.0 许可协议授权。