正题

P1330


题目大意

给你一张无向图,问你最少选择多少个点,使得每一条边都有且只有一个端点被选择


解题思路

每一条边只能选一个点,那么考虑对这个图黑白染色

可以用扩展域并查集判二分图,然后两边的点选小的就好了


code

#include<queue>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define ll long long
#define N 10010
using namespace std;
int n,m,x,y,w,ans,s[N<<1],p[N<<1],fa[N<<1];
int find(int x)
{return fa[x]==x?x:fa[x]=find(fa[x]);
}
int main()
{scanf("%d%d",&n,&m);for(int i=1;i<=n;++i)fa[i]=i,fa[i+n]=i+n;for(int i=1;i<=m;++i){scanf("%d%d",&x,&y);fa[find(x)]=find(y+n);fa[find(x+n)]=find(y);}for(int i=1;i<=n;++i)if(find(i)==find(i+n)){puts("Impossible");return 0;}for(int i=1;i<=n;++i)if(!p[find(i)]){p[find(i)]=++w;s[w]++;p[find(i+n)]=++w;}else s[p[find(i)]]++;for(int i=1;i<=w;i+=2)ans+=min(s[i],s[i+1]);printf("%d",ans);return 0;
}

【并查集】封锁阳光大学(P1330)相关推荐

  1. P1330 封锁阳光大学

    P1330 封锁阳光大学 题目描述 曹是一只爱刷街的老曹,暑假期间,他每天都欢快地在阳光大学的校园里刷街.河蟹看到欢快的曹,感到不爽.河蟹决定封锁阳光大学,不让曹刷街. 阳光大学的校园是一张由N个点构 ...

  2. 洛谷 P1330 封锁阳光大学 Label:染色问题

    题目描述 曹是一只爱刷街的老曹,暑假期间,他每天都欢快地在阳光大学的校园里刷街.河蟹看到欢快的曹,感到不爽.河蟹决定封锁阳光大学,不让曹刷街. 阳光大学的校园是一张由N个点构成的无向图,N个点之间由M ...

  3. 洛谷P1330 封锁阳光大学

    题目描述 曹是一只爱刷街的老曹,暑假期间,他每天都欢快地在阳光大学的校园里刷街.河蟹看到欢快的曹,感到不爽.河蟹决定封锁阳光大学,不让曹刷街. 阳光大学的校园是一张由N个点构成的无向图,N个点之间由M ...

  4. 洛谷 P1330 封锁阳光大学题解

    题目描述 曹是一只爱刷街的老曹,暑假期间,他每天都欢快地在阳光大学的校园里刷街.河蟹看到欢快的曹,感到不爽.河蟹决定封锁阳光大学,不让曹刷街. 阳光大学的校园是一张由N个点构成的无向图,N个点之间由M ...

  5. 洛谷 P1330 封锁阳光大学 二分图染色

    题目描述 曹是一只爱刷街的老曹,暑假期间,他每天都欢快地在阳光大学的校园里刷街.河蟹看到欢快的曹,感到不爽.河蟹决定封锁阳光大学,不让曹刷街. 阳光大学的校园是一张由N个点构成的无向图,N个点之间由M ...

  6. 【C++】洛谷P1330 封锁阳光大学

    封锁阳光大学 题目描述 曹是一只爱刷街的老曹,暑假期间,他每天都欢快地在阳光大学的校园里刷街.河蟹看到欢快的曹,感到不爽.河蟹决定封锁阳光大学,不让曹刷街. 阳光大学的校园是一张由 nnn 个点构成的 ...

  7. 黑白染色——封锁阳光大学

    所谓黑白染色,就是指用bfs或dfs依次遍历每一个点,同时进行染色,一黑一白,如果遇到已经染过色的点并且点的颜色和即将要染的颜色冲突,就说明无法进行二分,无法满足染色.大概就是这样的. 下面我们看一道 ...

  8. luogu P1330 封锁阳光大学

    嘟嘟嘟 又刷了一道水题-- 很显然只要判断这个图是否是二分图就行了,判断方法就是染色.如果对于边(u->v),两个点颜色相同,那么就说明图中存在奇环,不是二分图. 统计答案的时候输出两种颜色较小 ...

  9. Luogu P1330 封锁阳光大学【Dfs】 By cellur925

    题目传送门 这道题我们很容易去想到二分图染色,但是这个题好像又不是一个严格的二分图. 开始的思路:dfs每个点,扫与他相邻的每个点,如果没访问,染相反颜色:如果访问过,进行检查,如果不可行,直接结束程 ...

最新文章

  1. 带有中文的字符串各个字符的获取c++程序
  2. Hadoop伪分布式环境搭建
  3. ConcurrentHashMap实现原理--转载
  4. 用ExayX在VS2019上输出文本有误的解决方案
  5. 模电知识,大师 书本
  6. html代码范例_最佳HTML范例和HTML5范例
  7. 利用Python来玩扫雷,极致的思维体验
  8. 炫酷大屏demo_那些炫酷高端的可视化大屏,是如何开发出来的?
  9. sql limit 子句_SQL Server中的FOR XML PATH子句
  10. 这三款曾红极一时的软件,现已风光不再,而遭嫌弃的它成了香饽饽
  11. uniapp选择所有城市通过索引方式(源码自带所有城市json格式数据)
  12. 【024】Vue+Springboot+mysql员工考勤管理系统(多角色登录、请假、打卡)(含源码、数据库、运行教程、实验报告)
  13. 抽象类和接口的区别(精简)
  14. 企业移动应用管理平台 - MDM,MAM,MCM
  15. 图数据交互可视化分析框架InteractiveGraph v0.3版本发布
  16. 不想再错过下一个风口?机器视觉技术的亿万级市场
  17. 服务器调用打印机进行文档打印,云服务器怎么调用本地打印机
  18. dede自动排版 php,站长必备:dedecms正文自动排版、伪原创插件
  19. 01-贪吃蛇自动寻路
  20. 致敬!阿里云的数据库侠客!

热门文章

  1. .md是什么文件_Element-UI源码阅读之md显示到页面
  2. 对MATLAB课程教程的建议,关于MATLAB课程教学的几点探讨
  3. java 传送解析8583报文_java发送ISO8583报文接口案例
  4. 如何区分netty是udp还是tcp_鲜奶粉还是大包粉,到底该如何区分?
  5. 浅谈前端路由原理hash和history
  6. php+换行+php+eol,PHP PHP_EOL 换行符
  7. 数据结构---基数排序
  8. C++ 快速排序算法
  9. P4055 [JSOI2009]游戏(二分图匹配+博弈)
  10. Codeforces Round #305 (Div. 1) D. Mike and Fish 欧拉回路