Gym - 103145K(并查集)

题目
在这里插入图片描述
给出一个图,然后每次询问给出敌人攻击值,低于攻击值的边都会被删去,每次询问独立,回答攻击过后还有多少对点连通。
看到连通首先想到并查集,但是问的不是连通块数,是连通块中点的对数,显然如果一个连通块有n个
点,那么就有 C n 2 对 点 , G n 2 = ( n − 1 ) n / 2 , 所 以 只 要 稍 微 改 动 一 下 并 查 集 代 码 , 知 道 每 个 连 通 块 点 数 , 就 能 得 到 答 案 。 C_n^2对点,G_n^2=(n-1)n/2,所以只要稍微改动一下并查集代码,知道每个连通块点数,就能得到答案。 Cn2Gn2=(n1)n/2

并查集改动

首先par数组就要改一改,建个结构体数组,f相当于原来的par数组,sum记录连通块点数。

struct Node
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值