BZOJ 2079: [Poi2010]Guilds

Description

问一个图是否有二染色方案,满足每个点都跟他颜色不用的点有连边.

Sol

结论题.

除了只有一个点,否则任何图都能被二染色.

Code

/**************************************************************
    Problem: 2079
    User: BeiYu
    Language: C++
    Result: Accepted
    Time:1284 ms
    Memory:2068 kb
****************************************************************/

#include <bits/stdc++.h>
using namespace std;

const int N = 2e5+50;

int n,m;
int d[N];

inline int in(int x=0,char ch=getchar()) { while(ch>‘9‘ || ch<‘0‘) ch=getchar();
    while(ch>=‘0‘ && ch<=‘9‘) x=x*10+ch-‘0‘,ch=getchar();return x; }
int main() {
    n=in(),m=in();
    for(int i=1,u,v;i<=m;i++) u=in(),v=in(),(u!=v?d[u]++,d[v]++:0);
    for(int i=1;i<=n;i++) if(!d[i]) return puts("NIE");
    return puts("TAK"),0;
}
时间: 2024-08-25 07:34:20

BZOJ 2079: [Poi2010]Guilds的相关文章

BZOJ 2079 Poi2010 Guilds 并查集

题目大意:给定一个无向图,要求将一些点红黑染色,使每个点及其相连的点中至少有一个黑色的点和一个红色的点 逗比题ぽい~ 对于任意一个大小>=2的连通图,我们只需要搞出这个图的任意一棵生成树,将这棵生成树撸成二分图再染色就一定能满足要求的ぽい~ 因此无法满足要求当且仅当存在一个大小为1的联通块ぽい~ 并查集即可ぽい~ #include <cstdio> #include <cstring> #include <iostream> #include <algori

bzoj2079[Poi2010]Guilds*

bzoj2079[Poi2010]Guilds 题意: 给一个图染色,要求每个图必须染上某个色同时与另外一个色的点有边相连,问可否满足要求.n≤200000. 题解: 直接上结论:除非有点没有与别的点相连,否则肯定能满足要求. 代码: 1 #include <cstdio> 2 #include <cstring> 3 #include <algorithm> 4 #include <queue> 5 #define inc(i,j,k) for(int i

单调队列 BZOJ 2096 [Poi2010]Pilots

2096: [Poi2010]Pilots Time Limit: 30 Sec  Memory Limit: 162 MBSubmit: 819  Solved: 418[Submit][Status][Discuss] Description Tz又耍畸形了!!他要当飞行员,他拿到了一个飞行员测试难度序列,他设定了一个难度差的最大值,在序列中他想找到一个最长的子串,任意两个难度差不会超过他设定的最大值.耍畸形一个人是不行的,于是他找到了你. Input 输入:第一行两个有空格隔开的整数k(0

BZOJ 2086: [Poi2010]Blocks

2086: [Poi2010]Blocks Time Limit: 20 Sec  Memory Limit: 259 MBSubmit: 494  Solved: 222[Submit][Status][Discuss] Description 给出N个正整数a[1..N],再给出一个正整数k,现在可以进行如下操作:每次选择一个大于k的正整数a[i],将a[i]减去1,选择a[i-1]或a[i+1]中的一个加上1.经过一定次数的操作后,问最大能够选出多长的一个连续子序列,使得这个子序列的每个数

BZOJ 2080: [Poi2010]Railway 双栈排序

2080: [Poi2010]Railway Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 140  Solved: 35[Submit][Status][Discuss] Description 一个铁路包含两个侧线1和2,右边由A进入,左边由B出去(看下面的图片) 有n个车厢在通道A上,编号为1到n,它们被安排按照要求的顺序(a1,a2,a3,a4....an)进入侧线,进去还要出来,它们要按照编号顺序(1,2,3,4,5....n)从通道B

bzoj 2084: [Poi2010]Antisymmetry -- manacher

2084: [Poi2010]Antisymmetry Time Limit: 10 Sec  Memory Limit: 259 MB Description 对于一个01字符串,如果将这个字符串0和1取反后,再将整个串反过来和原串一样,就称作“反对称”字符串.比如00001111和010101就是反对称的,1001就不是.现在给出一个长度为N的01字符串,求它有多少个子串是反对称的. Input 第一行一个正整数N (N <= 500,000).第二行一个长度为N的01字符串. Output

BZOJ 2084: [Poi2010]Antisymmetry

2084: [Poi2010]Antisymmetry Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 596  Solved: 379[Submit][Status][Discuss] Description 对于一个01字符串,如果将这个字符串0和1取反后,再将整个串反过来和原串一样,就称作“反对称”字符串.比如00001111和010101就是反对称的,1001就不是.现在给出一个长度为N的01字符串,求它有多少个子串是反对称的. Input

BZOJ 2095: [Poi2010]Bridges

2095: [Poi2010]Bridges Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 869  Solved: 299[Submit][Status][Discuss] Description YYD为了减肥,他来到了瘦海,这是一个巨大的海,海中有n个小岛,小岛之间有m座桥连接,两个小岛之间不会有两座桥,并且从一个小岛可以到另外任意一个小岛.现在YYD想骑单车从小岛1出发,骑过每一座桥,到达每一个小岛,然后回到小岛1.霸中同学为了让YYD减

bzoj 2086 [Poi2010]Blocks 单调栈

[Poi2010]Blocks Time Limit: 20 Sec  Memory Limit: 259 MBSubmit: 788  Solved: 356[Submit][Status][Discuss] Description 给出N个正整数a[1..N],再给出一个正整数k,现在可以进行如下操作:每次选择一个大于k的正整数a[i],将a[i]减去1,选择a[i-1]或a[i+1]中的一个加上1.经过一定次数的操作后,问最大能够选出多长的一个连续子序列,使得这个子序列的每个数都不小于k.