随笔分类 -  并查集

摘要:"题目链接" 题目就告诉我们要用并查集了,操作1和3用裸的带权并查集就行了, 操作2相当于将p结点从当前树中删除,再插入到q的树中,直接删除的话比较麻烦,不妨把它的“尸体”留在原来的地方,在q的树中插入一个新的点,维护一个指向编号为p点的指针即可 cpp include include includ 阅读全文
posted @ 2019-10-07 09:00 yjk 阅读(103) 评论(0) 推荐(0) 编辑
摘要:银河英雄传说 题目链接 并查集时记录下以i为首的队列的长度(如果存在这个队列)num[i],便于合并, 和点i到队首的距离front[i],便于查询(在find时维护) 阅读全文
posted @ 2018-07-26 15:26 yjk 阅读(155) 评论(0) 推荐(0) 编辑
摘要:货车运输 题目链接 显然,从一点走到另一点的路径中,最小值最大的路径一定在它的最大生成树上 所以要先求出最大生成树,再在生成树上找最近公共祖先,同时求出最小值。 阅读全文
posted @ 2018-03-07 11:34 yjk 阅读(147) 评论(0) 推荐(0) 编辑
摘要:关押罪犯 题目链接 思路: 二分图或并查集 这里讲并查集算法: 1.将每对罪犯的冲突关系按影响从大到小排序 2.将集合与(i+n)合并表示编号为i的罪犯不能在该集合内 3.依次从大到小处理冲突关系: 若x与y+n、y与x+n不在同一个集合内,将集合find(x)与集合find(y+n)合并,将集合f 阅读全文
posted @ 2018-03-02 20:41 yjk 阅读(138) 评论(0) 推荐(0) 编辑
摘要:并查集模板 题目链接1 题目链接2 题目链接3 代码: 1. 2. 3. 阅读全文
posted @ 2018-03-02 20:27 yjk 阅读(172) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示