今天主要研究并查集,并查集的基本应用基本上是看完了,主要研究了这几道题:
ZOJ 3261 Connections in GalaxyWar 题意:有n个点和m条边,每个点带有一个权值p[i]。现在给出Q条命令,要你输出对应的答案。命令格式如下:query u :该命令需要输出当前与u点相连的点编号x,x要满足p[x]是所有与u相连的点中最大的 且 p[x]>p[u]。如果有多个满足条件的x存在,那么就输出编号最小的那个x点的编号。destroy u v:该命令将删除u与v的边。(保证在执行该命令前u与v之间有一条边)。这道题要求删边进行求,要把输入的存起来,在进行一条一条的添加,逆序处理。
POJ 2253 Frogger这道题以前做二分的时候做过,但是没想到可以用并查集进行优化。
ZOJ 3321 Circle这道题题意:给你一个n节点m条边的无向图,问你该图是否正好是一个环。这道题要判断环,只需要记录每个节点的度并且用并查集判断全图是否只有一个连通分量。
然后是根节点维护的题
POJ 1611 The Suspects这个题比较简单,用根节点维护num【i】的信息表上当前连通分量的节点数。
ZOJ 3659 Conquera New Region 这道题分析看的听懂,但是不是很明白是如何推出来求最大值的公式的。
路径压缩
HDU 3635 Dragon Balls 这个题和根节点维护很像
POJ 1182 食物链 这个题是真的比较难了,进行三个动物的转换,找出合适的推导公式,然后进行并查集就好了