
并查集
bxb666666666
这个作者很懒,什么都没留下…
展开
-
bzoj1202(第一篇博客,大家快来捧场吧)
1、一般碰到连续区间的题,可以用并查集,把他的祖先记为能到达的最长区间的端点(通常为右端点); 2、求两个区间的差不一定要硬生生地求,如果有一种比较优的算法能记录这两个区间加上另一个重复的区间,那么减的时候可以抵消掉重复区间,对答案没影响。 3、该题中,f[x]代表以x+1为左端点所在最长区间最右端点,l[x]代表以x+1为左端点所在最长区间的权值(注意是x+1)。记录时做这两步: ①若祖先原创 2018-01-25 23:05:38 · 320 阅读 · 1 评论 -
并查集专题
这篇博客来谈谈我目前对并查集的主要应用(随着学习的深入会不断补充): 1、最基本的当然就是在同一个集合里的东西 2、在一个图里联通的两个点 3.一条线上连续区间的端点(bzoj1202,bzoj2054) 4、不在同一个集合的点,建立补集,合并f[i]与f[j+n](noip2010,bzoj1370) 5、带权并查集:维护并查集的同时维护另一个信息(bzoj1202)原创 2018-01-26 22:00:50 · 286 阅读 · 1 评论