摘要: 这道题可以树链剖分做。但是最近在给学弟搞数据结构复习了LCA树状数组RMQ 然后就搞了一发LCA+树状数组维护。 dis数组维护当前点到根节点的权值和。则dis(u,v) = dis[u]+dis[v]-2*dis[lca(u,v)] 修改的时候,单点修改影响了该点所有儿子的dis,刚好可以用dfs 阅读全文
posted @ 2016-07-28 00:18 Helica 阅读(869) 评论(0) 推荐(0) 编辑
摘要: 为了学CDQ分治,从斜率dp和凸包开始做吧。。 代码就是维护一个凸包。利用递增的性质丢掉不合适的点。 http://www.cnblogs.com/Rlemon/p/3184899.html 代码学的上面 很模板 阅读全文
posted @ 2016-07-28 00:11 Helica 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 平面最远点对 由于点数为1e5,而整数点的情况下,凸包上点的个数为sqrt(M),M为范围。 这样求出凸包之后n^2枚举维护距离就可以了 否则就用旋转卡壳。 这里用了挑战上的做法,比较简洁。 阅读全文
posted @ 2016-07-28 00:07 Helica 阅读(129) 评论(0) 推荐(0) 编辑