HHU 暑假第三弹 数据结构进阶

来源:互联网 发布:赵敏 知乎 编辑:程序博客网 时间:2024/05/21 06:57

写在前面

本周的专题训练主要包括并查集,线段树,树状数组

1001.畅通工程(HDOJ 1232)

题意

寻找矩阵中的非联通路个数

题解

并查集水题,套用模板即可:)


1002.敌兵布阵(HDOJ 1166)

题意

求解连续区间的和,并支持单点修改

题解

很符合线段树的特性,套用模板,并熟悉下递归的使用


1003.小希的迷宫(HDOJ 1232)

题意

判断无向图是不是有环

题解

并查集的一个小变种,每当在进行merge(合并)操作前,利用find操作检查下输入的两个点是不是具有同一个根来判断有没有出现环。最后注意剔除掉出现两个不同区域的情况


1004.Stars(HDOJ 1541)

题意

定义每个点左下角点的个数num(包括同一行与同一列但不包括自身)为level num,最后输出各个level的个数

题解

注意每个x,y都是按升序输入的,因此当前输入只与之前输入有关而无需等输入完再进行处理,单点更新等特性符合树状数组的一类用法,理解题意后用模板就可以了(用线段树应该也是可以的)


1005.Inversion(HDOJ 5497)

题意

在一段数字序列中剔除掉某个连续序列,求其中最小的一个逆序数

题解

在此之前推荐可以先看看怎么用树状数组求逆序数,对于这道题可以用两个树状数组来求解,一个树状数组维护剔除序列前面的数的逆序数,另一个用于维护剔除序列后面的逆序数 ,推荐这个传送门

2 0
原创粉丝点击