题意 : 题目的要求是构造出一个长度为 n 的数列, 构造条件是在接下来给出的 m 个子区间中, 要求每一个子区间的mex值最大, 然后在这 m 个子区间产生的mex值中取最小的输出, 并且输出构造出来的序列, 一个mex值的定义是这个区间没有出现过的最小的正整数, 例如(0, 2, 3)的mex = 1    (0, 1, 2)的mex=3

分析 : 发现在这m个mex值中, 最小的肯定是区间长度最小的, 而且这个mex值肯定是等于这个区间的长度, 记这个mex为Min(mex)所以输出的就是长度最小的区间的长度。那如何构造这个数列呢?根据刚刚讲的我们只要保证在长度最小的区间内包含(0、1、2……len-1)这个递增序列里面的所有数便能保证最小的mex, 而其他区间, 由于长度都大于长度最小的区间, 是不是我们也让这些区间也填满(0、1、2……len-1)这个序列内的数(因为其他的长度都比长度最小的区间的长, 所以一定可以做到!), 那其他的这些区间的mex就都<=Min(mex)。这里有个技巧去完成上面所述的操作, 在第 i 个数, 我们只要填上 i%Min(mex) 实际也就是 i%Min(区间len) 即可!很是巧妙!

#include<bits/stdc++.h>
using namespace std;
const int INF = 0x3f3f3f3f;
int main(void)
{
    int n, m;
    scanf("%d%d", &n, &m);
    int MIN = INF;
    ; i<m; i++){
        int l, r;
        scanf("%d%d", &l, &r);
        MIN = min(MIN, r-l+);
    }
    printf("%d\n", MIN);
    ; i<n; i++){///从0或者从1开始都没毛病
        printf("%d ", i%MIN);
    }
    ;
}

#381 Div2 Problem C Alyona and mex (思维 && 构造)的更多相关文章

  1. Codeforces Round #381 (Div. 2)C. Alyona and mex(思维)

    C. Alyona and mex Problem Description: Alyona's mother wants to present an array of n non-negative i ...

  2. #452 Div2 Problem C Dividing the numbers ( 思维 || 构造 )

    题意 : 将从 1 ~ n 的数分成两组,要求两组和的差值尽可能小,并输出其中一组的具体选数情况 分析 : 如果将这 n 个数从大到小四个一组来进行选择的话那么差值就为 0 ,然后再来考虑 n%4 ! ...

  3. Codeforces Round #381 (Div. 1) A. Alyona and mex 构造

    A. Alyona and mex 题目连接: http://codeforces.com/contest/739/problem/A Description Alyona's mother want ...

  4. B - Alyona and mex(构造)

    Problem description Alyona's mother wants to present an array of n non-negative integers to Alyona. ...

  5. Codeforces Round #381 (Div. 2)C Alyona and mex

    Alyona's mother wants to present an array of n non-negative integers to Alyona. The array should be ...

  6. Codeforces Round #381 (Div. 2) C. Alyona and mex(无语)

    题目链接 http://codeforces.com/contest/740/problem/C 题意:有一串数字,给你m个区间求每一个区间内不含有的最小的数,输出全部中最小的那个尽量使得这个最小值最 ...

  7. Codeforces 740C. Alyona and mex 思路模拟

    C. Alyona and mex time limit per test: 2 seconds memory limit per test: 256 megabytes input: standar ...

  8. Codeforces Round #358 (Div. 2)B. Alyona and Mex

    B. Alyona and Mex time limit per test 1 second memory limit per test 256 megabytes input standard in ...

  9. CodeForces 682B Alyona and Mex (排序+离散化)

    Alyona and Mex 题目链接: http://acm.hust.edu.cn/vjudge/contest/121333#problem/B Description Someone gave ...

随机推荐

  1. Buffer对象与JSON对象相互转换

    > buffer=new Buffer('换汤不换药');<Buffer e6 88 91 e7 88 b1 e4 bd a0 ef bc 8c e7 89 a9 e7 90 86> ...

  2. XOR on segment(线段树区间异或更新)

    原题传送门 本题大意:给定n个数字和m个操作,操作共有两种,第一种是求解区间l到r上元素的和,第二种是将区间l到r的元素都异或一个x,作为某个位置的新值. 很容易想到线段树维护区间和,但是我们发现,在 ...

  3. springboot笔记-thymeleaf

    简介:Thymeleaf 是⾯向 Web 和独⽴环境的现代服务器端 Java 模板引擎,能够处理 HTML.XML.JavaScript.CSS 甚至纯文本.Thymeleaf 的作用域在 HTML ...

  4. C++中的单例类模板

    1,本节课讲述单例类模式,实现并抽取相关代码实现单例类模板,在以后开发工作 中,如果想要使用单例模式,那么直接使用今天开发的单例类模板就可以: 2,需求的提出: 1,在架构设计时,某些类在整个系统生命 ...

  5. django-xadmin使用

    django-xadmin使用基础环境为: PS:如下环境如需升级python则先升级python,然后安装django python3.6.4安装: http://www.cnblogs.com/c ...

  6. 使用procedump捕获未处理异常的dump

    -ma full memory dump, always do this on 2003 as 4gb is not much and it is good to have the heap -mp  ...

  7. 如何解决 u盘 错误0x80071AC3:请运行chkdsk并重试

    windows: 一.win+R 打开 cmd 二.确认好U盘在电脑上显示的盘符,输入代码:chkdsk G:/f (G为U盘所在盘符) Bonus:U盘一般会有文件系统,主要有NTFS.FAT16. ...

  8. Vue2 & ElementUI实现管理后台之input获得焦点

    Vue.directive('focus', function (el, option) { var defClass = 'el-input', defTag = 'input'; var valu ...

  9. Python 安装cx_Oracle模块折腾笔记

    kali linux/ubuntu下安装: 不得不说安装这个模块很蛋疼,决定做个记录. sudo apt install build-essential unzip python-dev libaio ...

  10. 硬盘安装ubuntu遇到的问题

    终于把这个系统给装上了,陆陆续续弄了4,5天(崩溃...),一直一来都是用U盘来装ubuntu的,挺简单的,但是这个主机识别不了U盘不知道为什么...这个问题又是百度又是Google最终找不到原因只好 ...