2011年7月31日
摘要: 搜索floodfill相关题目时找到的这题,题目可抽象为:一个WxH大小的方块,每个单元为一块,每个单元有一个高度,从正上方向下注水,问最多能装住多少水。解题思路为,首先最外一圈能装的水量都是0,找出其中最低的,那么与之相邻的(最多四个)方块中,如果比他低,那必可装水至这个块的高度,同时这个装水块的高度上升为那个块的高度。如果比他高或相等,则这块不可装水。然后再找次小的,依次进行,可用优先队列priority_queue来实现,也可以手写堆。//6935#9044110 helloworld 2227 Accepted 1640K 266MS G++ 2107B 2011-07-31 14:5 阅读全文
posted @ 2011-07-31 15:06 NKHe!!oWor!d 阅读(340) 评论(0) 推荐(0) 编辑
摘要: 本题可抽象为:给出一些点和边,边分为两种,一种为双向边,权值为正,一种为单向边,权值为负。要求给定一个图,判断图中是否有负环。很显然,需要Bellman-Ford算法。因为本题只需判断是否有负环的存在,而不需求最短路,所以可令初始dis均为0,如果第n次松弛成功,则有负环;否则没有。//9043487 NKHelloWorld 3259 Accepted 452K 79MS G++ 1459B 2011-07-31 13:15:57//1A#include <cstdio>#include <cstring>struct date{ int st,ed,d;}edge[ 阅读全文
posted @ 2011-07-31 14:07 NKHe!!oWor!d 阅读(255) 评论(0) 推荐(0) 编辑