BZOJ 1854: [Scoi2010]游戏(二分图匹配/并查集)
题面:
https://www.lydsy.com/JudgeOnline/problem.php?id=1854
题解:
1.二分图匹配:
首先我们发现每件装备只能在两种属性中选一种。因此,我们以每个装备的编号向两种属性分别连边。然后用1-n的属性分别进行向装备的匹配,一旦有一种匹配不上就退出。
代码:
#include<bits/stdc++.h> using namespace std; const int maxn=;
int head[maxn],vis[maxn],fa[maxn],ans,cnt,n,maxx; struct ed{
int next,to;
}e[maxn<<]; void add(int u,int v){
e[++cnt]=(ed){head[u],v};
head[u]=cnt;
} bool hungary(int now,int sign){
for(int i=head[now];i;i=e[i].next){
int tt=e[i].to;
if(vis[tt]==sign) continue;
vis[tt]=sign;
if(!fa[tt]||hungary(fa[tt],sign)){
fa[tt]=now;
return ;
}
}
return ;
} int main(){
scanf("%d",&n);
int u,v;
for(int i=;i<=n;i++){
scanf("%d%d",&u,&v);
add(u,i),add(v,i);
maxx=max(maxx,max(u,v));
}
for(int i=;i<=maxx;i++){
if(!hungary(i,i))
break;
ans++;
}
printf("%d",ans);
return ;
}
2.并查集:
同样的,每种装备的两个属性只能选一个,那么,我们可以将每一种装备看做一条将两种属性相连的边。很显然,这些属性被分成了一个个的联通块。那么不难发现,只有当一个联通块内有环时,这个联通块才能每个属性都被选中,否则(即为一棵树)必须有一个不选,显然不选编号最大的最优。又因为每个点在且仅在一个联通块(单独的一个点也算一个联通块),所以这就满足了并查集的要求。
代码:
#include<bits/stdc++.h> using namespace std; const int maxn=;
int fa[maxn],val[maxn],ans,n; int ffa(int x){
return fa[x]==x?x:fa[x]=ffa(fa[x]);
} int main(){
scanf("%d",&n);
for(int i=;i<=n;i++)
fa[i]=i;
int u,v;
for(int i=;i<=n;i++){
scanf("%d%d",&u,&v);
int fu=ffa(u),fv=ffa(v);
if(fu==fv)
val[fu]++;
else{
fa[fv]=fu;val[fu]++;
val[fu]+=val[fv];
val[fv]=;
}
}
for(int i=;i<=n;i++)
if(val[ffa(i)])
ans++,val[ffa(i)]--;
else break;
printf("%d",ans);
return ;
}
算法比较:

上面是二分图匹配,下面是并查集
BZOJ 1854: [Scoi2010]游戏(二分图匹配/并查集)的更多相关文章
- BZOJ 1854: [Scoi2010]游戏( 二分图最大匹配 )
匈牙利算法..从1~10000依次找增广路, 找不到就停止, 输出答案. --------------------------------------------------------------- ...
- bzoj 1854 游戏 二分图匹配 || 并查集
题目链接 Description lxhgww最近迷上了一款游戏,在游戏里,他拥有很多的装备,每种装备都有2个属性,这些属性的值用[1,10000]之间的数表示.当他使用某种装备时,他只能使用该装备的 ...
- HDU-3081-Marriage Match II 二分图匹配+并查集 OR 二分+最大流
二分+最大流: 1 //题目大意:有编号为1~n的女生和1~n的男生配对 2 // 3 //首先输入m组,a,b表示编号为a的女生没有和编号为b的男生吵过架 4 // 5 //然后输入f组,c,d表示 ...
- BZOJ 1854: [Scoi2010]游戏 并查集
1854: [Scoi2010]游戏 Time Limit: 5 Sec Memory Limit: 162 MBSubmit: 2672 Solved: 958[Submit][Status][ ...
- BZOJ 1854: [Scoi2010]游戏 无向图判环
题目链接: 题目 1854: [Scoi2010]游戏 Time Limit: 5 Sec Memory Limit: 162 MB 问题描述 lxhgww最近迷上了一款游戏,在游戏里,他拥有很多的装 ...
- BZOJ 1854: [Scoi2010]游戏 [连通分量 | 并查集 | 二分图匹配]
题意: 有$n \le 10^6$中物品,每种两个权值$\le 10^4$只能选一个,使得选出的所有权值从1递增,最大递增到多少 一开始想了一个奇怪的规定流量网络流+二分答案做法...然而我还不知道怎 ...
- bzoj 1854: [Scoi2010]游戏 (并查集||二分图最大匹配)
链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1854 写法1: 二分图最大匹配 思路: 将武器的属性对武器编号建边,因为只有10000种 ...
- [BZOJ1854][Scoi2010]游戏(二分图匹配/并查集)
题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1854 分析:很裸的一道二分图匹配对吧,但是在hzwer的blog上看见神奇的并查集做法 ...
- ●BZOJ 1854 [Scoi2010]游戏
题链: http://www.lydsy.com/JudgeOnline/problem.php?id=1854 题解: 并查集(还可以用匈牙利算法进行单路增广的二分图匹配) 把每个武器看成是一条边, ...
随机推荐
- MySQL — 优化之explain执行计划详解(转)
EXPLAIN简介 EXPLAIN 命令是查看查询优化器如何决定执行查询的主要方法,使用EXPLAIN,只需要在查询中的SELECT关键字之前增加EXPLAIN这个词即可,MYSQL会在查询上设置一个 ...
- vue-cli项目开发/生产环境代理实现跨域请求+webpack配置开发/生产环境的接口地址
一.开发环境中跨域 使用 Vue-cli 创建的项目,开发地址是 localhost:8080,需要访问非本机上的接口http://10.1.0.34:8000/queryRole.不同域名之间的访问 ...
- liunx 运维知识四部分
一. 权限介绍及文件权限测试 二. 目录权限测试 三. 默认控制权限umask 四. chown修改属性和属组 五. 网站安全权限介绍 六. 隐藏属性介绍 七. 特殊权限s 八. 特殊权限t 九. 用 ...
- java内部类 和外部类的区别
java 内部类和静态内部类的区别 详细连接https://www.cnblogs.com/aademeng/articles/6192954.html 下面说一说内部类(Inner Class)和 ...
- python之路--小数据池,再谈编码,is和 == 的区别
一 . 小数据池 # 小数据池针对的是: int, str, bool 在py文件中几乎所有的字符串都会缓存. # id() 查看变量的内存地址 s = 'attila' print(id(s)) 二 ...
- centos安装Tesseract
yum安装(推荐) yum search tesseract yum install tesseract.x86_64 -y pip3 install pytesseract pip3 install ...
- 原 线程池中shutdown()和shutdownNow()方法的区别
参考:shutdown和shutdownNow的区别 shutDown() 当线程池调用该方法时,线程池的状态则立刻变成SHUTDOWN状态.此时,则不能再往线程池中添加任何任务,否则将会抛出Reje ...
- DAY04、流程控制if、while、for
一.if 判断 语法一: if 条件: # 以下是上一条if 的子代码块 print(子代码1) print(子代码2) print(子代码3) 示例: # 路边飘过一个生物,要不要表白? sex = ...
- PLSQL过期:Your trial period for PL/SQL Developer is over .If you want to continue using this software ,you must purchase the retail version.
PLSQL过期:Your trial period for PL/SQL Developer is over .If you want to continue using this software ...
- WC2019游记 && 课件
WC2019 游记 课件 wc2019.zip_免费高速下载|百度网盘-分享无限制 提取码: un6z day 0 打飞机去广州... 在飞机上刷了爱乐(le)之城, 相当好看... 广二好大! 哈三 ...