摘要:
比较巧妙的并查集,考察对并查集的引申应用。维护三个数组:a[i]表示i到pre[i]中间有方块的个数pre[i]表示i所在集合编号,即根c[i]表示以i为标志的集合中元素个数,只有当pre[i]=i的时候c[i]才有意义合并时,只需进行如下操作:1、对读入的x、y分别进行路径压缩,直到找到真根为止2、合并x、y两个集合,主要步骤如下: pre[x]:=y;a[x]:=c[y];c[y]:=c[y]+c[x];这道题目倒是和银河英雄传说有些相似之处,可以对比着来做一下。 1 program cubes;//by_poetshy 2 const 3 maxn=30000; 4 var 5 ... 阅读全文