bzoj1854: [Scoi2010]游戏
2017-06-26 21:18
351 查看
传送门
神奇的并查集。
我们可以将一个拥有属性A,B的武器看成A,B之间的一条无向边
如果一个联通块中边的条数==点数-1,
则必定有一个数无法被凑出
否则一定存在方案凑出所有数
对于一个联通块中边的条数==点数-1,
我们显然选择放弃最大的点。
然后并查集XJB搞一下就可以了
神奇的并查集。
我们可以将一个拥有属性A,B的武器看成A,B之间的一条无向边
如果一个联通块中边的条数==点数-1,
则必定有一个数无法被凑出
否则一定存在方案凑出所有数
对于一个联通块中边的条数==点数-1,
我们显然选择放弃最大的点。
然后并查集XJB搞一下就可以了
var f,v:array [0..1000005] of longint; n,i,x,y,p,q,t:longint; function get(x:longint):longint; begin if (f[x]=x) then exit(x); f[x]:=get(f[x]); exit(f[x]); end; begin read(n); for i:=1 to n+1 do f[i]:=i; for i:=1 to n do begin read(x,y); p:=get(x); q:=get(y); if (p=q) then v[p]:=1 else begin if (p<q) then begin t:=p; p:=q; q:=t; end; v[q]:=1; f[q]:=p; end; end; for i:=1 to n+1 do if (v[i]=0) then begin write(i-1); break; end; end.
相关文章推荐
- 【二分图最大匹配】[SCOI2010] 游戏 BZOJ 1854
- 【BZOJ】1854【Scoi2010】游戏
- BZOJ 1854: [Scoi2010]游戏( 二分图最大匹配 )
- BZOJ 1854|SCOI 2010|游戏|并查集
- BZOJ1854 [Scoi2010]游戏
- BZOJ1854 [Scoi2010]游戏
- bzoj 1854: [Scoi2010]游戏【匈牙利算法】
- BZOJ1854:[SCOI2010]连续攻击游戏——题解
- BZOJ 1854 [Scoi2010] 游戏 题解与分析
- bzoj1854[Scoi2010]游戏
- 【bzoj1854】[Scoi2010]游戏
- BZOJ 1854: [Scoi2010]游戏 并查集
- [bzoj1854][Scoi2010]游戏
- bzoj1854[Scoi2010] 游戏
- [BZOJ1854][Scoi2010]游戏
- bzoj 1854: [Scoi2010]游戏(二分图的最大匹配)
- BZOJ1854: [Scoi2010]游戏 二分图
- BZOJ 1854 [Scoi2010]游戏
- bzoj1854: [Scoi2010]游戏(匈牙利) / GDKOI Day2 T2(最大流)
- BZOJ1854: [Scoi2010]游戏