题意:求01成立。

并查集维护,记录一个变量判断决策。

#include<bits/stdc++.h>
using namespace std;
#define int long long
const int maxn = 4000010;
int f[maxn];
inline int find(int x){
return x == f[x]?x : f[x] = find(f[x]);
}
signed main()
{
ios::sync_with_stdio(false);
int T;
cin >> T;
while(T--){
int n,m;
cin >> n >> m;
int tag = (m < n + 2);
for(int i = 1;i <= (n << 1); ++i){
f[i] = i;
}
for(int i = 1;i <= m; ++i){
int x,y;
cin >> x >> y;
f[find(x)] = find(y + n);
f[find(y)] = find(x + n);
}
for(int i = 1;i <= n && tag; ++i){
tag &= (find(i) != find(i + n));
}
if(tag) puts("YES");
else puts("NO");
}
return 0;
}

[BJOI 2018]染色的更多相关文章

  1. [HAOI 2018]染色

    传送门 Description 一个长度为\(N\)的序列, 每个位置都可以被染成 \(M\)种颜色中的某一种. 出现次数恰好为 \(S\)的颜色种数有\(i\)种, 会产生\(w_i\)的愉悦度. ...

  2. HAOI 2018 染色(容斥+NTT)

    题意 https://loj.ac/problem/2527 思路 设 \(f(k)\) 为强制选择 \(k\) 个颜色出现 \(s\) 种,其余任取的方案数. 则有 \[ f(k)={m\choos ...

  3. [BJOI 2018]求和

    Description 题库链接 给你一棵 \(n\) 个结点的有根树, \(m\) 次询问这棵树上一段路径上所有节点深度的 \(k\) 次方和. \(1\leq n\leq 300000,1\leq ...

  4. 【BJOI 2018】 求和

    [题目链接] 点击打开链接 [算法] 预处理i^k的前缀和,对于每次询问,树上倍增即可 时间复杂度 : O(nk + mlog(n)) [代码] #include<bits/stdc++.h&g ...

  5. luogu 4429 染色

    bjoi 2018 染色 推了个错误结论得了60分? 题目大意: 一个无重边和自环的无向图,并且对每个点分别给了一个大小为2的颜色集合,只能从这个集合中选一种颜色给这个点染色 求一个染色方案使得没有两 ...

  6. luogu 4427 求和

    bjoi 2018 求和 唯一一道可能切的题一个数组还没开long long就成0分了 题目大意: 一棵有根树,并且希望多次询问这棵树上一段路径上所有节点深度的k次方和,而且每次的k可能是不同的 此处 ...

  7. Solution -「HAOI 2018」「洛谷 P4491」染色

    \(\mathcal{Description}\)   Link.   用 \(m\) 种颜色为长为 \(n\) 的序列染色,每个位置一种颜色.对于一种染色方案,其价值为 \(w(\text{出现恰 ...

  8. 「HAOI 2018」染色

    题目链接 戳我 \(Solution\) 观察题目发现恰好出现了\(s\)次的颜色有\(k\)种,不太好弄. 所以我们设\(a[i]\)表示为恰好出现了\(s\)次的颜色有至少\(i\)种的方案数,然 ...

  9. 洛谷 P3177 树上染色 解题报告

    P3177 [HAOI2015]树上染色 题目描述 有一棵点数为\(N\)的树,树边有边权.给你一个在\(0\) ~ \(N\)之内的正整数\(K\),你要在这棵树中选择\(K\)个点,将其染成黑色, ...

随机推荐

  1. 第二天:PowerShell别名

    1.查询别名: Get-Alias -name ls Get-Alias -name dir Get-Alias -name fl Get-Alias -name ft 2.查看可用的别名 查看可用的 ...

  2. 常用的Docker镜像及处理命令

    常用的镜像命令 docker run -d --name dockerui -p : -v /var/run/docker.sock:/var/run/docker.sock abh1nav/dock ...

  3. 日文NLP分词系统

    mecab(http://mecab.sourceforge.net/)是奈良先端科技大学开发的日文分词系统,基于CRF的分词原理,有c++实现,提供python.perl.ruby等接口 日文NLP ...

  4. Python 分解质因数

    def zys(n, value=[]): for i in range(2, int(n / 2 + 1)): if n % i == 0: value.append(i) zys(n / i, v ...

  5. Superset安装出错 sqlalchemy.exc.InvalidRequestError: Can't determine which FROM clause to join from, ...

    $ superset db upgrade ... Traceback (most recent call last): File "/home/jhadmin/.pyenv/version ...

  6. Servlet - Servlet相关

    1. 概念 Servlet是指任何实现了Servlet接口的类, Servlet运行于支持Java的应用服务器中, Servlet可以响应任何类型的请求, 但大多数情况下, Servlet只用来扩展基 ...

  7. thinkphp url重写

    可以通过URL重写隐藏应用的入口文件index.php,下面是相关服务器的配置参考:大理石平台精度等级 [ Apache ] httpd.conf配置文件中加载了mod_rewrite.so模块 Al ...

  8. luoguP3799 妖梦拼木棒 [组合数学]

    题目背景 上道题中,妖梦斩了一地的木棒,现在她想要将木棒拼起来. 题目描述 有n根木棒,现在从中选4根,想要组成一个正三角形,问有几种选法? 输入输出格式 输入格式: 第一行一个整数n 第二行n个整数 ...

  9. 暴力模拟——cf988E

    很简单的题,就是模拟一下 #include<bits/stdc++.h> using namespace std; #define ll long long ll n,a[],len; i ...

  10. Intergalactic Map SPOJ - IM

    传送门 我觉得我写得已经和题解一模一样了,不知道为什么就是过不了..懒得拍了,反正不是很难,不太想浪费时间. 1~2~3的一条路径相当于从2~1的一条路径+2~3的一条路径,点不能重复经过,于是拆点. ...