风雪梦

柳絮因风起

  C++博客 :: 首页 :: 联系 :: 聚合  :: 管理
  4 Posts :: 76 Stories :: 3 Comments :: 0 Trackbacks

常用链接

留言簿

我参与的团队

搜索

  •  

最新评论

  • 1. re: LightOJ1080 Binary Simulation
  • 话说加个PushDown操作不就OK了咩?
  • --仗剑奔走天涯
  • 2. re: 正式开博
  • 加油!
  • --leafcloudsky
  • 3. re: 启航杯啊
  • 太屎了!!我竟然就这么的WA了两次,最终发现,第四题少了两句初始化,第五题把数组开错地方了,算法没问题,结果就这么从四题跌到二题,太伤不起了!!可怜我调spfa调了一晚上!!尼玛啊!!
  • --浅雨歌

阅读排行榜

评论排行榜

题目大意就是给N个虫子,K个交配关系,问这K个交配关系中有没有同性恋,重口味啊~

首先,如果两个虫子中有一个虫子是以前从来没有处理过的,那么两个虫子就可以合并到一个集合里面,而且这两个虫子一定是异性,如果两个虫子都处理过了,那就在集合之中各种查找就行,看看两只虫子到底是异性还是同性,而我们知道了集合中各种虫子的关系,加以区分就可以了。那么小弟我今天刚刚学会并查集向量偏移这个思想,就稍稍的推一下哈~

首先,假定两只虫子的是异性的时候,偏移量为1,同性的时候,偏移量为0,毋庸置疑,初始化并查集的时候由于所有虫子的根节点都是它们本身,那么所有虫子的偏移量都是0。下面我们来考虑一下向量的多边形定则,如果是一个四边性,有四个顶点A,B,C,D,那么向量A→D=A→B+B→C+C→D,那么我们合并集合的时候就完全可以借鉴这种多边形定则的思想,把两个元素之间的关系看成是一个向量,推导出来公式加一下下就可以啦~不过要注意方向啊。

下面附AC代码

view code

posted on 2012-12-29 01:41 浅雨歌 阅读(23) 评论(0)  编辑 收藏 引用 所属分类: 并查集

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理