摘要: 问题描述 RMQ问题是求给定区间中的最值问题。对于长度为n的数列A,回答若干查询RMQ(A, i, j)。返回数组A中下标在[i,j]里的最小值的下标。 比如数列 5,8,1,3,6,4,9,5,7 那么RMQ(2,4) = 3, RMQ(6,9) = 6. 解决问题 最简单的解法时间复杂度是O(n 阅读全文
posted @ 2015-11-14 20:19 gongpixin 阅读(443) 评论(0) 推荐(0)
摘要: 链接:线段树求矩形面积并 扫描线+离散化1、给定平面上若干矩形,求出被这些矩形覆盖过至少两次的区域的面积.2、看完线段树求矩形面积并 的方法后,再看这题,求的是矩形面积交,类同。求面积时,用被覆盖2次以上的那一段乘以扫描线的距离即可,具体实现见代码。3、/*HDU 1255 覆盖的面积求矩形面积交(... 阅读全文
posted @ 2015-11-14 16:50 gongpixin 阅读(509) 评论(0) 推荐(0)
摘要: 1、一颗树中,给出a,b,求最近的距离。(我没考虑不联通的情况,即不是一颗树的情况) 2、用最近公共祖先来求, 记下根结点到任意一点的距离dis[],这样ans = dis[u] + dis[v] - 2 * dis[lca(u, v)] 3、 /* 离线算法,LCATarjan 复杂度O(n+Q) 阅读全文
posted @ 2015-11-14 00:04 gongpixin 阅读(280) 评论(0) 推荐(0)