一道很巧妙的二分图的题目

简单分析性质可知,一个合法序列一定是由12,21这样的子串构成的,所以相邻的每隔2个两两配对

然后BF和GF互相配对,思考一下,如果存在奇环,那么必定有一个BG有两个GF,或者一个GF有两个BF,所以不存在这种情况,一定有解

直接二分图判断即可

#include <iostream>
#include <cstdio>
#include <vector>
#define mp make_pair
#define fi first
#define se second
using namespace std;
const int maxn = 200050;
vector<int> G[maxn];
int color[maxn];
vector <pair <int, int>> Q;
void dfs(int x)
{for(auto to : G[x]){if(!color[to]){color[to] = color[x] == 1 ? 2 : 1;dfs(to);}}
}
int n, x, y;
int main()
{scanf("%d", &n);for(int i = 0; i < n; i++){scanf("%d %d", &x, &y); x--; y--;G[x].push_back(y); G[y].push_back(x);Q.push_back(mp(x, y));}for(int i = 0; i < n; i ++)G[2*i].push_back(2*i+1), G[2*i+1].push_back(2*i);for(int i = 0; i < 2*n; i++)if(!color[i]) { color[i] = 1; dfs(i); }for(auto x : Q) printf("%d %d\n", color[x.fi], color[x.se]);
}

转载于:https://www.cnblogs.com/Saurus/p/6434529.html

Codeforces Round #383 (Div. 1) C(二分图)相关推荐

  1. Codeforces Codeforces Round #383 (Div. 2) E (DFS染色)

    题目链接:http://codeforces.com/contest/742/problem/E 题意: 有一个环形的桌子,一共有n对情侣,2n个人,一共有两种菜. 现在让你输出一种方案,满足以下要求 ...

  2. Codeforces Round #383 Div.2 A-E 题解

    A B C D E 这场题目不难,但是很有意思. A 求1378^n的个位数. 特判n=0n=0n=0的情况即可. int d[]={6,8,4,2}; int main(){ int n=read( ...

  3. Codeforces Round #383 (Div. 2) D. Arpa's weak amphitheater and Mehrdad's valuable Hoses —— DP(01背包)

    题目链接:http://codeforces.com/contest/742/problem/D D. Arpa's weak amphitheater and Mehrdad's valuable ...

  4. Codeforces Round #383 (Div. 1): D. Arpa’s letter-marked tree…(dsu on tree+状压)

    题意: 给你一棵n个节点的树,每条边都代表着一个字母(a~v),对于每个节点u,求出以u为根的子树中有多少条路径满足:路径上的字符重新排列后可以得到一个回文字符串 思路: 前置:dsu on tree ...

  5. Codeforces Round #742 (Div. 2) F. One-Four Overload 构造 + 二分图染色

    传送门 文章目录 题意: 思路: 题意: 给你一个n∗mn*mn∗m的矩形,包含...和XXX,你有两种颜色,你需要给...染色使得每个XXX上下左右相邻的...其两种颜色个数相同,输出一种合法方案. ...

  6. Codeforces Round #726 (Div. 2) F. Figure Fixing 二分图 + 思维

    传送门 文章目录 题意: 思路 题意: 给你一张nnn个点mmm条边的图,每个点都有一个当前值aia_iai​,目标值bib_ibi​,每次可以选择一条边(i,j)(i,j)(i,j),将ai,aja ...

  7. Codeforces Round #712 Div.2(A ~ F) 超高质量题解(每日训练 Day.15 )

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Codeforces Round #712 Div.2(A ~ F) 题解 比赛链接:https:// ...

  8. Codeforces Round #586 (Div. 1 + Div. 2) D. Alex and Julian 数学 + 思维

    传送门 文章目录 题意: 思路: 题意: 给你一个无限个点的坐标轴,一个集合BBB,如果存在∣i−j∣=bk|i-j|=b_k∣i−j∣=bk​的话,那么i,ji,ji,j之间就连边.现在问你至少要从 ...

  9. Codeforces Round #225 (Div. 1) E. Vowels 容斥 + sosdp

    传送门 文章目录 题意: 思路: 题意: 给你nnn个长度为333的串,串的每个字母都在a−za-za−z范围内,定义一个串合法当且仅当这个串中含有至少一个元音字母.现在他忘记了元音字母都有那几个,显 ...

最新文章

  1. itstime后面跟什么_一文讲透什么是引流
  2. 2.5 程序示例--非线性决策边界-机器学习笔记-斯坦福吴恩达教授
  3. 使用Dockerfile定制镜像-定制Tomcat为例
  4. Python小游戏(小蜜蜂)
  5. 将所有用户设置隐私选项更新为从不向Microsoft发送Microsoft Dyanmics Error Report
  6. MySQL 8.0.22执行器源码分析HashJoin —— BuildHashTable函数细节步骤
  7. Python学习教程(Python学习路线):如何正确使用Pandas库提升项目的运行速度?...
  8. C#跨窗体传值的几种方法分析第三版
  9. python猜数字1001untitled_如何利用Matlab GUI制作猜数字游戏
  10. 第四次作业(1、2小题)
  11. 免费的录屏软件Capture
  12. Echarts图表没数据的时候,用图片代替暂无数据(图片自适应)
  13. 恒指期货高手背后的辛酸付出谁又能懂
  14. idgenerator 会重复吗_随机 ID 生成器
  15. [译转]how browsers work
  16. AR技术应用 の 如何做一个Pokemon GO丢出精灵球抓住皮卡丘吧!(2)
  17. qt轻松实现不规则按钮
  18. 如何策划好一场直播方案,抖音新手必备干货丨国仁网络
  19. iphone 中的大小和像素问题
  20. 时间戳 与 Unix时间戳

热门文章

  1. 使用SSM+JSP实现一个教务管理系统
  2. 基于SpringBoot的考研管理系统
  3. 身份证第18位(校验码)的计算方法
  4. scala 中List的简单使用
  5. UWP开发随笔——使用SQLite数据库
  6. ng2中router-outlet用法
  7. Java: 面向对象程序设计(上)
  8. c# 第六课 linq
  9. Groovy正则表达式复杂逻辑判断实例
  10. 《LeetCode力扣练习》第160题 相交链表 Java