摘要: 方法参见:http://blog.acmol.com/?p=751从最后一个线段开始倒着处理(因为之后的线段不会被它之前的线段覆盖),把这条线段所覆盖的所有线段编号合并到一个集合里,并以最左边线段编号为父结点。然后,以后的线段每次都是从右端向左端进行以下处理:1、判断该线段在并查集中的根结点是否被覆盖过(用一个数组标记),如果没有被覆盖,则将该线段所在集合与海报左端点所在集合进行合并(以左端点所在集合为根)。2、然后开始处理刚处理过的线段父结点左边的那一个线段,处理方法与第1步时一样。3、直到要处理的线段在左端点的左边时停止循环。处理时,如果有一个线段未被覆盖,就证明该点的染色没有被之后的染色 阅读全文
posted @ 2013-09-17 22:17 冰鸮 阅读(530) 评论(0) 推荐(0)