随笔分类 - 并查集
摘要:题意: 战争中保持各个城市间的连通性非常重要。本题要求你编写一个报警程序,当失去一个城市导致国家被分裂为多个无法连通的区域时,就发出红色警报。注意:若该国本来就不完全连通,是分裂的k个区域,而失去一个城市并不改变其他城市之间的连通性,则不要发出警报。 输入格式: 输入在第一行给出两个整数N(0 <
阅读全文
摘要:题意:N个人,M条关系,A x y表示询问x和y是不是属于同一组,D x y表示x和y是不同组。输出每个询问后的结果。 分析: 1、所有的关系形成一个连通图,如果x和y可达,那两者关系是确定的,否则不能确定。 2、r[tmpy] = r[x] + r[y] + 1;可以更新连通块里祖先的标号。 eg
阅读全文
摘要:题意:平面上有n个点(1<=n<=1000),你的任务是让所有n个点连通。可以新建边,费用等于两端点欧几里德距离的平方。也可以购买套餐(套餐中的点全部连通)。问最小费用。 分析: 1、先将不购买任何套餐的最小生成树的所有边(边数为cnt)存起来,目的是枚举套餐时不必再耗Kruskal算法的O(n2)
阅读全文
摘要:题意:给定n个数,Ai的下标为1~n。对于每一个i,Ai与i在同一个树上,且是与i最远的点中id最小的点(这个条件变相的说明i与Ai连通)。求森林中树的个数。 分析:若i与Ai连通,则在同一个树上,因此连通块的个数就是树的个数。并查集即可。
阅读全文
摘要:题意:某公司的各企业群要建立联系,I i j 表示企业i与企业j建立联系,并且以企业j为中心(并查集中的父亲)(企业j为暂时的中心企业),E i 表示查询企业 i 距离此时的中心企业的距离。各企业间的距离规定:企业i 与 企业j 间距离为|i - j| % 1000。 分析:改造并查集中的find函
阅读全文

浙公网安备 33010602011771号