设为首页 加入收藏

TOP

fzu2192,种类并查集
2015-11-21 01:02:36 来源: 作者: 【 】 浏览:2
Tags:fzu2192 种类 查集

题意是中文的,就不说了;

这里用到种类并查集,分别用1-N;N-2N,2N-3N代表城市,服务,人;

然后要注意这几点:

1:不要用rank数组了,因为连边要自己控制。

2:在unite函数的时候,比较一下x和y,控制把大的连到小的上面,这样之后寻味的时候,find()一定会找到最小的(城市),然后如果大于N,就说明他没有连到城市,输出0;

?

代码如下:

?

#include
  
   
#include
   
     #include
    
      #include
     
       #include
      
        #include
       
         using namespace std; const int N = 300000; int par[999999], last[999999]; void init(int n) { int i, j; for (int i = 0; i
        
         N) { printf("0\n"); continue; } printf("%d\n", temp); } } return 0; }
        
       
      
     
    
   
  


?

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇UVa 2038 - Strategic game(二分.. 下一篇Codeforces Round #302 (Div. 2) ..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: