现在的位置: 首页 > 综合 > 正文

Poj2492合并集

2014年12月09日 ⁄ 综合 ⁄ 共 509字 ⁄ 字号 评论关闭

POJ2492,求合并集的题,输入第一行是test case数目,第二行第一个数为虫子数,第二个为对比次数,以后每行为一次对比,每次对比的虫子都被认为不是一个类别,放到两堆中;此处因为只有两堆,所以用:p[x2].d = (p[x1].d + 1) % 2; 解决,如果有n个,那么1变为n-1,2变为n即可~~

      此题中也同样定义了一个 辅助类:my,其中root,不明白有啥用,但没有他确实没法进行分类,d表明不同分类;

     对问题的判断逻辑是:两个数如果是一个集合的(d相同)则矛盾,f=false;若不矛盾,将x1和x2的补类合并,或者将b与a的补类合并,这里有r1,r2的比较,这不明白啥意思!每次对比中,root大的将改变其值为较小的数的root(为什么这么做呢?),并且两个x归为不同类;

    收获1:scanner 对大数据量的数据的输入时间没有限制,至少这道题没有报TLE,所以,之前那道题可能还有别的原因,也或者这道题的输入本身确实不存在TLE这种危险,所以无乱用不用scanner 都无所谓;前面的最长增长子序列求和问题确实是因为这个卡住的!

    收获2:合并集,知其然,不全然;不知其所以然;总之,是知道了,慢慢来~

【上篇】
【下篇】

抱歉!评论已关闭.