摘要: Tunnel Warfare题型:线段树描述:n个村子排成一条线,两两相邻,1.摧毁村子c,2.修复上一次摧毁的村子,3.问与村子c直接或间接相通的村子数思路:对节点的操作,增加lx,rx域,表示区间内最左边被摧毁的村子,和最右边被摧毁的村子,s表示区间内摧毁的村子总数。重点在count(),统计相连村子数操作。根据父结点的两个孩子结点的 s 值,讨论各种可能情况。[代码]完整代码 阅读全文
posted @ 2010-07-18 17:43 superbin 阅读(426) 评论(0) 推荐(0) 编辑
摘要: Hotel题型:线段树(设计并维护复杂域)描述:旅店登记,1.找一段最靠前的连续w个空房间;2.退订[x,x-d+1]段的房间。思路:1. 域的设计struct Seg { int l, r; int lx, rx, mx; char cv;};lx :左端连续空房间数rx: 右端连续空房间数mx: 连续最大空房间数cv : = 0,全空, = 1 全满, = -1 非空非满。2. 域的维护开房:... 阅读全文
posted @ 2010-07-18 16:00 superbin 阅读(699) 评论(1) 推荐(0) 编辑