摘要:
这是刘汝佳神牛《算法艺术与信息学竞赛》上有关堆的一道例题。主要思路如下:维护一个堆,存储的是水位和高度一样的格子的高度。1、首先把边缘点全部加到堆中2、每次取堆中最小的一个,做一次Floodfill,如果被fill到的点比队首元素高度高,那么将这个点加入堆中,否则将该点的水位设置为队首元素的水位。3、重复2,直到堆中没有元素。4、最后,统计答案为每个点水位高度与实际高度的差值和。CODE 1 const 2 maxn=90000; 3 maxp=300; 4 ddx:array[1..4]of integer=(0,0,1,-1); 5 ddy:arr... 阅读全文