题目描述

Zy皇帝面临一个严峻的问题,两个互相抵触的贸易团体,YYD工会和FSR工会,他们在同一时间请求在王国各个城市开办自己的办事处。这里有n个城市,其中有一些以双向马路相连,这两个工会要求每个城市应该做到: 1:有这个工会的办事处或 2:和另外一个符合1条件的城市有马路直接相连。(也就是每个城市必须是YYD的公会,但是又和FSR的公会的城市相连,或者是FSR的,和YYD的城市相连,或者和两个工会的城市相连)但是Zy怀疑不正当的竞争,他担心一个城市有两个工会的办事处,(就是说一个城市不能有两个工会的办事处)只将导致贸易的垄断(政治怎么学的),所以他请求他日夜栽培的你给予帮助。

输入

输入:两个整数n(1<=n<=200000)和m(1<=m<=500000),n代表城市数,m代表道路的总数,接下来m行每行两个整数ai和bi,表示城市ai和城市bi有道路相接。不会有重边。

输出

输出:如果这些公会的办事处能够不违反规则的开办则第一行输出TAK(波兰语的Yes),如果这些工会的办事处无法按照规则开办,就输出NIE(波兰语的No)。

样例输入

7 8
1 2
3 4
5 4
6 4
7 4
5 6
5 7
6 7

样例输出

TAK


题目大意

给你一张无向图,求是否有一种把点黑白染色的方法,使得每个点都与至少与一个黑点和一个白点相邻(包括自身)

题解

构造结论题

首先,如果一个连通块的大小为1,显然不满足条件;

然后,对于任何一个大小不为1的连通块,只需要处理出它的任意一棵生成树,由于其是二分图,所以直接黑白染色即可满足条件。

故满足条件的充分必要条件是不存在大小为1的连通块。

#include <cstdio>
int v[200010];
int main()
{
int n , m , i , x , y;
scanf("%d%d" , &n , &m);
for(i = 1 ; i <= m ; i ++ ) scanf("%d%d" , &x , &y) , v[x] = v[y] = 1;
for(i = 1 ; i <= n ; i ++ )
{
if(!v[i])
{
puts("NIE");
return 0;
}
}
puts("TAK");
return 0;
}

【bzoj2079】[Poi2010]Guilds 构造结论题的更多相关文章

  1. BZOJ2079: [Poi2010]Guilds

    2079: [Poi2010]Guilds Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 237  Solved: 181[Submit][Statu ...

  2. BZOJ2079:[POI2010]Guilds(乱搞)

    Description Zy皇帝面临一个严峻的问题,两个互相抵触的贸易团体,YYD工会和FSR工会,他们在同一时间请求在王国各个城市开办自己的办事处.这里有n个城市,其中有一些以双向马路相连,这两个工 ...

  3. BZOJ2079 [Poi2010]Guilds 【贪心】

    题目链接 BZOJ2079 题解 题意就是黑白染色,要求相邻点存在不同颜色的点 显然从一个点出发,相邻点如果没有染色,染不同颜色,那么一个联通块一定会满足要求 证明:在\(dfs\)树上,每个点父亲和 ...

  4. 【DFS】bzoj2079 [Poi2010]Guilds

    对一棵树黑白染色一定符合题意. 图一定有生成树. 因此,仅有一个孤立节点的联通块不合题意. DFS. #include<cstdio> using namespace std; int n ...

  5. [POI2010]GIL-Guilds(结论题)

    题意 给一张无向图,要求你用黑白灰给点染色,且满足对于任意一个黑点,至少有一个白点和他相邻:对于任意一个白点,至少有一个黑点与他相邻,对于任意一个灰点,至少同时有一个黑点和白点和灰点与他相邻,问能否成 ...

  6. BZOJ 3903 反垄断 (最大流推的结论题)

    题目 中文题目,不解释: BZOJ传送门 分析 这道题BZOJ上也只有几个人过-奇怪了 下面是正解 原问题为一个二分图边染色问题.首先考虑最好情况.最理想情况的分配为:设一个点xxx的度为dgr(x) ...

  7. BZOJ 2079: [Poi2010]Guilds

    Description 问一个图是否有二染色方案,满足每个点都跟他颜色不用的点有连边. Sol 结论题. 除了只有一个点,否则任何图都能被二染色. Code /******************** ...

  8. [codevs5578][咸鱼]tarjan/结论题

    5578 咸鱼  时间限制: 1 s  空间限制: 128000 KB   题目描述 Description 在广袤的正方形土地上有n条水平的河流和m条垂直的河流,发达的咸鱼家族在m*n个河流交叉点都 ...

  9. BZOJ_1367_[Baltic2004]sequence_结论题+可并堆

    BZOJ_1367_[Baltic2004]sequence_结论题+可并堆 Description Input Output 一个整数R Sample Input 7 9 4 8 20 14 15 ...

随机推荐

  1. 洛谷P1437 [HNOI2004]敲砖块(dp)

    题目背景 无 题目描述 在一个凹槽中放置了 n 层砖块.最上面的一层有n 块砖,从上到下每层依次减少一块砖.每块砖 都有一个分值,敲掉这块砖就能得到相应的分值,如下图所示. 14 15 4 3 23 ...

  2. ABAP调用WebService时日期类型问题

    在使用ABAP调用WebService时, 提示CX_SY_CONVERSION_NO_DATE_TIME,意思是日期格式不能转化. 究其原因是ABAP里没有相应的数据类型与WebService描述里 ...

  3. elasticsearch-dsl聚合-2

    接续上篇,本篇介绍elasticsearch聚合查询,使用python库elasticsearch-dsl进行聚合查询操作. 条形图 聚合有一个令人激动的特性就是能够十分容易地将数据转换成图表和图形. ...

  4. Python学习之购物车

    实现功能: 程序启动,提示用户输入用户名和密码,程序读取余额文件last_salary.txt内容(文件不存在则自动创建),若文件内容为空则提示“首次登录,请输入工资”: 用户可以输入商品编号进行购买 ...

  5. 裸机——DDR

    1.DDR介绍 DDR,是SDRAM的改进,是双通道的SDRAM, SDRAM是同步动态随机访问存储器. SDRAM与SRAM相对于,二者的特点是: SDRAM 需要初始化,使用时许访问,价格便宜. ...

  6. 尺取法 poj 2566

    尺取法:顾名思义就是像尺子一样一段一段去取,保存每次的选取区间的左右端点.然后一直推进 解决问题的思路: 先移动右端点 ,右端点推进的时候一般是加 然后推进左端点,左端点一般是减 poj 2566 题 ...

  7. 使用Windows Live Writer写文章时不要用360清除垃圾

    ref:http://www.zhengsiwei.com/write-an-article-to-use-windows-live-writer-dont-use-360-to-remove-rub ...

  8. mysql学习第三天笔记

    连接连接是在多个表之间通过一定的连接条件,使表之间发生关联,进而能从多个表之间获取数据.在 WHERE子句中书写连接条件. 如果在多个表中出现相同的列名,则需要使用表名作为来自该表的列名的前缀. N个 ...

  9. MySQL 5.7远程连接

    将/etc/mysql/my.cnf中的bind_address那一行注释掉或修改为"bind_address=0.0.0.0": bind_address并没有在/etc/mys ...

  10. 2-安装linux7

    1.操作系统简介 操作系统: 桌面操作系统 redhat fedora slackware ubuntu debian suse linux centos 服务器操作系统 linux redhat s ...