https://codeforces.com/contest/1101/problem/C

C++版本一

题解:

/*
*@Author:   STZG
*@Language: C++
*/
#include <bits/stdc++.h>
#include<iostream>
#include<algorithm>
#include<cstdlib>
#include<cstring>
#include<cstdio>
#include<string>
#include<vector>
#include<bitset>
#include<queue>
#include<deque>
#include<stack>
#include<cmath>
#include<list>
#include<map>
#include<set>
//#define DEBUG
#define RI register int
using namespace std;
typedef long long ll;
//typedef __int128 lll;
const int N=100000+10;
const int MOD=1e9+7;
const double PI = acos(-1.0);
const double EXP = 1E-8;
const int INF = 0x3f3f3f3f;
int t,n,m,k,q;struct Node
{int l;int r;int id;int f;
}ed[N];
bool cmp(const Node &x,const Node &y)
{if (x.l!=y.l) return x.l<y.l;return x.r<y.r;
}
bool cmp2(const Node &x,const Node &y)
{return x.id<y.id;
}
int main()
{scanf("%d",&t);while (t--){int flag=0;scanf("%d",&n);for (int i=1;i<=n;++i){scanf("%d%d",&ed[i].l,&ed[i].r);ed[i].id=i;}sort(ed+1,ed+n+1,cmp);int a;a=ed[1].r;ed[1].f=1;for (int i=2;i<=n;++i){if (!flag){if (ed[i].l<=a) a=max(a,ed[i].r),ed[i].f=1;else{flag=1;ed[i].f=2;}}else ed[i].f=2;}if (!flag) printf("-1\n");else{sort(ed+1,ed+n+1,cmp2);for (int i=1;i<=n;++i){printf("%d ",ed[i].f);}printf("\n");}}
}

C++版本二

题解:根据题意两组区间不能有交集。所以至少有两块独立的合并后区间。

/*
*@Author:   STZG
*@Language: C++
*/
#include <bits/stdc++.h>
#include<iostream>
#include<algorithm>
#include<cstdlib>
#include<cstring>
#include<cstdio>
#include<string>
#include<vector>
#include<bitset>
#include<queue>
#include<deque>
#include<stack>
#include<cmath>
#include<list>
#include<map>
#include<set>
//#define DEBUG
#define RI register int
using namespace std;
typedef long long ll;
//typedef __int128 lll;
const int N=100000+10;
const int MOD=1e9+7;
const double PI = acos(-1.0);
const double EXP = 1E-8;
const int INF = 0x3f3f3f3f;
int t,n,m,k,q;
int ans,cnt,flag,temp;struct node{int l,r,id,f;bool operator <(const node &S)const{if(l==S.l)return r<S.r;return l<S.l;}
}e[N];
int c[N<<1];
char str;
int main()
{
#ifdef DEBUGfreopen("input.in", "r", stdin);//freopen("output.out", "w", stdout);
#endif//scanf("%d",&t);while(t--){scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d%d",&e[i].l,&e[i].r);e[i].id=i;}sort(e+1,e+n+1);int pos=e[1].r;flag=1;c[e[1].id]=1;q=1;for(int i=2;i<=n;i++){if(pos<e[i].l){flag=0;if(q==1)q=2;elseq=1;}c[e[i].id]=q;pos=max(pos,e[i].r);}if(flag){printf("-1\n");continue;}for(int i=1;i<n;i++){printf("%d ",c[i]);}printf("%d\n",c[n]);}//cout << "Hello world!" << endl;return 0;
}

Division and Union相关推荐

  1. Division and Union CodeForces - 1101C (排序后处理)

    There are nn segments [li,ri][li,ri] for 1≤i≤n1≤i≤n. You should divide all segments into two non-emp ...

  2. 【CF套题】 Educational Codeforces Round 58

    [前言] 组队CF之帮wyl上橙,我和sc打小号上紫. 结果sc成功FST两题,wyl成功skipped. 我的小号幸存了qwq. [题目] 原题地址 A.Minimum Integer 特判一下dd ...

  3. Python type hints 之 Optional,Union

    1,前言 type hint 在pep484加入,我个人觉得这种类似于类型约束的(机制)有点违背了python简单.简洁的初衷,在慢慢向c# java 这种强类型语言看齐的节奏. 不过好在不强制使用, ...

  4. C++ 共用体union 的使用

    共用体是什么 共用体将不同的数据类型组织为一个整体, 需要注意的是,共用体在同一时刻只能存储一个数据成员的值., 共用体变量的地址和它的格式成员的地址都是同一地址 共用体的一般形式 union 共用体 ...

  5. 关于 并查集(union find) 算法基本原理 以及 其 在分布式图场景的应用

    二月的最后一篇水文-想写一些有意思的东西. 文章目录 环检测在图数据结构中的应用 深度/广度优先 检测环 并查集数据结构 (Union-Find) 基本概念 初始化 合并 union 查找祖先 优化1 ...

  6. 联合体union和大小端(big-endian、little-endian)

    1.联合体union的基本特性--和struct的同与不同 union,中文名"联合体.共用体",在某种程度上类似结构体struct的一种数据结构,共用体(union)和结构体(s ...

  7. struct和union的大小问题

    union类型以其中size最大的为其大小 struct类型以其中所有size大小之和为其大小 #include<iostream> using namespace std; int ma ...

  8. 利用c语言结构体和union实现类似c++的public,private的实现

    最近在看strongswan源代码,看到strongswan的代码框架很有意思,用C语言实现类的思想.当我们编写完一个模块,我们需要提供的是H的文件给其他模块使用,我们希望H文件中就只能包含一些公有函 ...

  9. php union all,Union与Union All的区别

    Union与Union All的区别 如果我们需要将两个select语句的结果作为一个整体显示出来,我们就需要用到union或者union all关键字.union(或称为联合)的作用是将多个结果合并 ...

最新文章

  1. 【经验】如何查看gcc、g++不加-std时的默认版本
  2. neo4j图形数据库JAVA实现
  3. 运筹学(最优化理论)学习笔记 | 共轭梯度法
  4. python正则group()的用法—正则提取括号内以及其他符号内内容
  5. magicui系统会不会升级鸿蒙,华为EMUI 11和Magic UI 4.0同步开启内测,均升级为鸿蒙系统...
  6. 神策数据、阿里、华为、字节等携手推动个人信息保护工作
  7. SAP CRM中间件Object出现wait状态的原因调试
  8. 代码jit_但这是不可能的,或者无法发现JIT破坏了您的代码。
  9. 【渝粤教育】国家开放大学2018年秋季 1379T人文英语3 参考试题
  10. Oracle 创建表空间,用户,赋值(简装)
  11. 盘点旷视14篇CVPR 2019论文,都有哪些亮点?
  12. Android 蓝牙相关的广播
  13. python语言的主网址-怎么用Python提取域名中的主域名
  14. 用 TStringList 模拟 将字符串转换为变量的功能 - 回复 flq_00000 和 外来天客 的问题...
  15. 1113 Integer Set Partition(25 分)
  16. 【python高阶编程】python线程池简单应用
  17. 2021机器学习面试必考面试题汇总(附答案详解)
  18. word文本框中插入文本框_如何在Word中打印隐藏的文本
  19. 9个offer,12家公司,35场面试,计算机应届毕业生求职之路
  20. JavaScript新的对象创建方式---Object.create()

热门文章

  1. ubuntu安装python库_Ubuntu18.04一次性升级Python所有库的方法步骤
  2. python 筛选提取连续多行_没有比这更简单的Python入门案例,用python打印你的宠物小精灵...
  3. oracle10g 创建分区表,oracle10G分区的创建与维护Oracle分区表和本地索引
  4. java 反射 静态域_java 内存 堆 栈
  5. 评估数据源是否回溯_IAI Trade:蒙特卡洛模拟在回溯检验中的应用
  6. python读取所有txt文件_python如何批量读取txt文件
  7. 计算机二级python选择题知识点,全国计算机等级考试二级Python练习题库-选择题部分.pdf...
  8. java 动态拼接sql_动态SQL拼接工具类
  9. python中的列表分片详解_python列表与元组详解实例
  10. php中浮点型的精确度,PHP中的浮点精度和类型