
并查集
文章平均质量分 60
sunday_soft
毕业于东北大学,做教师和软件开发工作
展开
-
Supermarket POJ1456
给定N个商品,每个商品有利润pi和过期时间di,每天只能卖一个商品,过期商品不能再卖,求如何安排每天卖的商品,可以使收益最大。1<=N,Pi,di<=10000. Sample Input 4 50 2 10 1 20 2 30 1 7 20 1 2 1 10 3 100 2 8 2 5 20 50 10 Sample Output 80 185 贪心+并查集...原创 2020-02-20 11:10:14 · 213 阅读 · 1 评论 -
程序自动分析 NOI2015/BZOJ4195
题目描述 在实现程序自动分析的过程中,常常需要判定一些约束条件是否能被同时满足。 考虑一个约束满足问题的简化版本:假设x1,x2,x3…代表程序中出现的变量,给定n个形如xi=xj或xi≠xj的变量相等/不等的约束条件,请判定是否可以分别为每一个变量赋予恰当的值,使得上述所有约束条件同时被满足。 例如,一个问题中的约束条件为:x1=x2,x2=x3,x3=x4,x4≠x1,这些约束条件显然是不可能...原创 2020-02-20 10:45:15 · 187 阅读 · 1 评论 -
Parity game POJ1733(并查集边带权或扩展域)
题干: 小A和小B玩游戏,小A写了一个长度为N的01序列,小B向小A提出许多问题,每个问题,小B指定两个数L和R,小A回答区间中有奇数个1还是偶数个1,小B发现小A可能在撒谎,向你求助, 求出一个最小的K,满足存在01序列满足1~k组询问,不满足第K加一组询问,M<=10000 N<=109 Sample Input 10 5 1 2 even 3 4 odd 5 6 even 1 6...原创 2020-02-25 16:19:17 · 209 阅读 · 0 评论 -
边带权的并查集--银河英雄传说 NOI2002/CODEVS1540
题干: 有一个划分成N列的星际战场,各列依次编号为1,2,…,N。有N艘战舰,也依次编号为1,2,…,N,其中第i号战舰处于第i列。 有M条指令,每条指令格式为以下两种之一: M i j,表示让第i号战舰所在列的全部战舰保持原有顺序,接在第j号战舰所在列的尾部。 C i j,表示询问第i号舰艇与第j号舰艇当前是否处在同一列中,如果在同一列中,他们之间隔了多少艘战舰。如果第i号战舰与第j号战舰当前...原创 2020-02-20 21:56:38 · 286 阅读 · 0 评论 -
食物链NOI2001/POJ1182(并查集边带权或扩展域)
问题描述: 动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这N个动物所构成的食物链关系进行描述: 第一种说法是"1 X Y",表示X和Y是同类。 第二种说法是"2 X Y",表示X吃Y。 此人对N个动物,用上述两种说法,一句接一句地说出K...原创 2020-02-26 16:00:10 · 197 阅读 · 0 评论 -
并查集基础
并查集(Disjoint-Set)是一种可以动态维护若干个不重叠的集合,并支持合并与查询的数据结构。 1.get,查询一个元素属于哪个集合 2.merge ,把两个集合合并成一个集合 并查集的存储 使用一个数组fa保存父节点(初始根的父节点设为自己,一开始每个节点自成一个集合。 int fa[SIZE]; for(int i=1;i<=n;i++) fa[i]=i; 并查集的get操作 in...原创 2020-02-20 11:36:05 · 165 阅读 · 0 评论