塔子哥想要对一批图片进行分类,依据它们之间的相似度矩阵进行处理。给定一个N∗N 的相似度矩阵,矩阵中的元素表示任意两张图片的相似度,若相似度大于 0,则认为两张图片相似;通过间接相似的方式,形成的相似类会将所有间接相似的图片归为一类。如果某张图片与其他图片均无相似度,则其自成一类。最终,要求输出每个相似类的相似度之和,并按从大到小的顺序排列。
题意需要将相似的图片归为一类,很容易想到是并查集的解法,并查集也有路径压缩的方法,所以可以将相似度的和都存在集合的根节点上。
将所有相似的图片归类到一个集合中,并对图片矩阵a进行遍历,如果ai,j!=0,那么就获取其所在集合的根节点fa,使ans[fa]+=a[i][j]。为了防止重复计算,令a[i][j]=a[j][i]=0。
小红打算把若干图片做归组,把彼此接近的图分到同一集合。她先抽取各图特征并据此量出两两接近程度,再依下列几条判定可否并进同一集合:
首行给出整数K(1≤K≤900),表示表G对应着K幅图片。随后连续K行,一行K个数,彼此用空格隔开(为排版整齐,空格个数可以不止一个),记载这K幅图两两的接近程度。
其中0≤G[p][q]≤100,数据保证G[p][q]=G[q][p]
该表各项之间的分隔由连续1个或更多空格构成
各个接近组的接近程度总和。写法是:同一行若干个数,彼此用1个空格隔开
输入
5
0 0 0 33 0
0 0 14 0 0
0 14 0 0 0
33 0 0 0 6
0 0 0 6 0
输出
39 14
说明
把$1$至$5$依次记成$U,V,W,X,Y$
由表可知,$U$与$X$接近程度为$33$,$X$与$Y$接近程度为$6$;$V$与$W$接近程度为$14$。于是得到$2$个接近组,分别是
1.{$U,X,Y$},接近程度合计$39$
2.{$V,W$},接近程度合计$14$
按从大到小排出这些合计,得到:$39$ $14$
开通会员即可查看完整视频题解: 1.题目讲解 2.思路分析 3.逐行代码手写
© CodeFun2000 · 使用条款
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册