- 博客(3)
- 收藏
- 关注
原创 [蓝桥杯 2013 国 C] 危险系数 dfs 深搜 递归
所以我们只需要 dfs 找出所有的可达路径,然后把每一条路径的经过点的次数都用sum[]数组记录下来(但是起点和终点不能记录,因为起点终点不是中间节点),只需要for循环查找所有的点,输出与可达路径相同的经过点的数量即可。对于两个站点 $x$ 和 $y(x\neq y),$ 如果能找到一个站点 $z$,当 $z$ 被敌人破坏后,$x$ 和 $y$ 不连通,那么我们称 $z$ 为关于 $x,y$ 的关键点。最后 $1$ 行,两个数 $u,v$,代表询问两点之间的危险系数 $DF(u,v)$。
2024-03-26 14:59:20
778
原创 洛谷提高- —— 并查集
我们只需要在遍历查找的时候把遍历过的元素节点的父节点设置为该树的根节点即可,最后我们的树就会从图一变为图二,这样后面查找根节点的时候,时间复杂度就大大降低了。这里需要注意,seek函数,查询,我们对于树的查询,是从当前节点往根节点进行遍历,所以时间复杂度就是当前节点的深度。1): add()函数,把y元素的根节点的父节点设置为 x元素的根节点即可,这样就把两个在不同树下的元素连接成了同一颗树。2): seek()函数,递归的查询x节点父节点,知道当前节点的父节等于他本身,则说明查找到了根节点。
2024-03-25 12:32:14
1816
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅