首页 > TAG信息列表 > Mex

抽屉原理(鸽巢原理)

已知n+ 1个正整数,它们全都小于或等于2n,证明当中一定有两个数是互质的 取n个盒子,在第一个盒子我们放1和2,在第二个盒子我们放3和4,第三个盒子是放5和6,依此类推直到第n个盒子放2n-1和2n这两个数。 如果我们在n个盒子里随意抽出n+1个数。我们马上看到一定有一个盒子是被抽空的。 因此在

与 MEX 有关的题目

MEX MEX——某不知名战略游戏中墨西哥的国家 tag (不是 \(\text{MEX}\) 指的是不属于集合 \(S\) 中的最小非负整数,即 \[\text{mex}(S)=\min{x} \quad (x\notin S,x\in N) \]至于它有什么性质,我也不知道。但是这里整理了一些 OI 上的与 \(\text{MEX}\) 有关的题目,难度在普及提高之

题解 P8445 【射命丸文的取材之旅】

简要题意 给定序列 \(\{a_n\},\{b_n\}\),求一个序列 \(\{c_n\}\) 满足 \(\forall i\in[1,n],c_i\in\{a_i,b_i\}\),求最大 \[\max\{r-l+1-\operatorname{mex}\{c_l,c_{l+1},\dots, c_{r-1},c_r\}\}(1\le l\le r\le n) \]\(1 \leq n\le 10^6\),\(0\leq a_i,b_i

CF1684E MEX vs DIFF

https://www.luogu.com.cn/problem/CF1684E *2100,CCH 的题目功能真好用! 考虑 \(DIFF-MEX\),那么要让 \(DIFF\) 尽可能小,\(MEX\) 尽可能大。 考虑我们填了最长值域前缀,那么显然我们的每次操作都是不会更劣的。假如把 \(MEX\) 后的数填到当前钦定前缀空白,那么 \(MEX+1\),假如所选的数

[CF1699C]The Third Problem

做题时间:2022.7.12 \(【题目描述】\) 给定一个长度为 \(N(N\leq 10^5)\) 的排列 \(a_i\) ,其中的数包括 \([0,n-1]\) ,求出有多少个排列 \(b_i\) 满足对于 \(\forall l,r,1\leq l\leq r\leq N\) ,满足: \[\operatorname{MEX}([a_l,a_{l+1},\ldots,a_r])=\operatorname{MEX}([b_l,b_{l+

Codeforces Round #804 (Div. 2)

Codeforces Round #804 (Div. 2) 这场题感觉都挺有意思的。 A 题意 找到一组解 \((a,b,c)\) 使得 \((a \oplus b) + (b \oplus c) + (a \oplus c) = n\) 没有输出 -1 思路 先看偶数,很容易看出 \((n/2,n/2,0)\) 是合法解 对于奇数。考虑 \(n=1\) 。无解,这是可以枚举的。这等于说最

The Third Problem

You are given a permutation a1,a2,…,ana1,a2,…,an of integers from 00 to n−1n−1. Your task is to find how many permutations b1,b2,…,bnb1,b2,…,bn are similar to permutation aa. Two permutations aa and bb of size nn are considered similar

AcWing 1319. 移棋子游戏

题目传送门 一、\(SG\) 函数 首先定义 \(mex\) 函数,这是施加于一个集合的函数,返回最小的不属于这个集合的非负整数 例:\(mex({1,2})=0,mex({0,1})=2,mex({0,1,2,4})=3\) 在一张有向无环图中,对于每个点 \(u\),设其所有能到的点的 \(SG\) 函数值集合为集合 \(A\),那么 \(u\) 的 \(SG\)

Codeforces Round #792 (Div. 1 + Div. 2) A-E

Codeforces Round #792 (Div. 1 + Div. 2) A-E A 题目 https://codeforces.com/contest/1684/problem/A 题解 思路 知识点:数学。 显然长度大于等于3的数字串的最小数位是完全可以通过这些操作留到最后。 长度等于2的数字串只可能是个位数字。 时间复杂度 \(O(n)\) 空间复杂度 \(O(

SG和的证明

SG和的证明 原证明方法存在缺陷,这里使用另一种更完全的证明方法。 简介:主要利用SG函数和mex函数的定义和推论进行证明。 原定义有关SG和的定义不完全,这里进一步进行如下定义: SG和的基本定义1:当对任意子游戏操作时,不对其他任意子游戏状态产生影响,即称为相互独立的子游戏。 SG和的

Educational Codeforces Round 118 (Rated for Div. 2) D. MEX Sequences

\(DP\)真的太难了啊!! 首先考虑到\(f(i, s)\)表示,从前\(i\)个数中选,最后一个数为\(a_i\),且\(MEX(a_1,....,a_i) = \left\{ \begin{aligned} a_{i} - 1 (s = 0) \\ a_{i} + 1(s = 1)\end{aligned} \right.\),因为有\(a_i\)的存在,那么\(MEX\)只能取这两种值。 列出方程: \[f(i, a[i] - 1

F. MEX Queries - 线段树 + 离散化

F. MEX Queries 题意 1 l r 将区间l r 置 1 2 l r 将区间l r 置 0 3 l r 翻转区间l r(即 是1置0 是0置1) 求每次操作后值是0的最左位置编号 思路 用线段树维护 区间和 用一个lazy 标记当前结点 置1 置0 翻转 或者 无需操作(用于减少时间复杂度) 对于翻转操作 每次更新一个结点的lazy要

线段树二分及区间mex

仓鼠的鸡蛋 思路: 把线段树权值全部置为m,维护区间最大值,每次优先找满足条件的左边的区间 const int N = 500010; int cnt[N]; int a[N]; int n, m, k; int tr[N << 2]; int M = 1; void pushup(int p) { tr[p] = max(tr[p << 1] , tr[p << 1 | 1]); } void build(int n) {

[Contest on 2022.4.12] 我又来水博客了

这场比赛的题目名真的太不走心了。 \(\cal T_1\) 史莱姆 \(\rm A\) \(\mathbb{Description}\) 史莱姆有一串长度为 \(n\) 的彩灯,其中第 \(i\) 盏彩灯的颜色为 \(a_i\). 史莱姆将这串彩灯剪成若干段并装饰在房间里,每一段彩灯的美丽度为这段彩灯的颜色形成的集合的 \(\rm mex\)。由

A. Meximum Array 767 Div 1

                题目分析:我们先分析一下这道题目要我们做什么,我们会得到一个长度为n的序列,然后我们可以随机挑取前k个数字并找出其MEX的值放入b中,并把这前k个数删掉,然后继续操作,要求我们最后得到的b序列的字典序最大;   ·解释一下:首先什么是MEX呢?  就是找出这一段序列

关于MATLAB中的mex在VS 2019中调试C++代码

打开MATLAB,切换到要调试的文件夹使用mex -g xxxx.cpp 命令编译打开VS 2019,以无代码模式启动(不用新建工程文件或文件),打开刚刚编译的文件调试->添加进程->找到MATLAB.exe,注意这个时候没有打开任何MATLAB窗口,MATLAB.exe的标题就是MATLAB在VS中打断点调试->窗口->exception setti

2 月做题记录

CF1608F MEX counting Links 题目链接 提交记录 官方题解 题解: 首先显然考虑 DP ,设计状态:有一维显然是 \(i\),然后 \(k\) 表示当前的 mex 值 ,最后 \(j\) 表示已经选的数中 \(>k\) 的数的个数。 然后就是很神仙的转移,考虑从 \(i\) 转移到 \(i+1\)。 如果加入 \(a_i\) 对 mex 不产

每天一道英文题,ICPC不自闭(28)

Codeforces Round #767 (Div. 2) - C 题目翻译 Mihai刚刚了解了MEX的概念,因为他非常喜欢它,所以他决定立即使用它。 给定 n 非负整数的数组a,Mihai希望创建一个新的数组b,其形式如下: 虽然 a 不是空的: 选择一个整数 k(1≤k≤ |a| )。将数组a的前 k 个数的MEX附加到数组b的末尾,并将它

运行从其他人处接收的 MEX 文件

目录 运行从其他人处接收的 MEX 文件 运行从其他人处接收的 MEX 文件         要调用 MEX 文件,请将该文件置于MATLAB® 路径中。然后键入文件的名称(无需键入文件扩展名)。如果有 MEX 文件的源代码,参考编译C MEX函数。         如果在调用并非自创建的 MEX 文件

[CF1613D]MEX sequences 题解

CF1613D MEX sequences 传送门 思路: (真是道好题,神犇们肯定都切掉了,但这题要是放到考场上我肯定不敢写 DP 的 QAQ) 题目范围 \(N=5\times 10^5\),又是个统计方案的题,珂以发现是道 DP 题。 联系到最长子序列问题,发现如果根据下标设计状态,时间复杂度总是 \(\operatorname{O}(N^2)\)

Codeforces Round #767 (Div. 1)

A https://codeforces.com/contest/1628/problem/A 可知前缀mex是单调递增的,字典序最大,则每次选择的mex都是最大的。 贪心地考虑,每次消去一个前缀,要求这个前缀的mex=全局的mex,且是最短的一个,这样可以使得剩余部分的mex也会尽可能大。 代码: #include<bits/stdc++.h> using namespa

Codeforces Round #767 (Div. 2) C D

Codeforces Round #767 (Div. 2) C D 打比赛的那天晚上太累了,想先睡一会,听见闹钟的时候发现比赛还有两分钟就要开始了。。加之这几天实际上并没有在训练(下次一定TAT,对自己的做题能力没什么信心,于是我在ll“希望”大家都参加比赛的时候睡了过去。 醒来一看,div2怎么全是蓝名?原来紫名

Codeforces Round #762 (Div. 3)

比赛链接: https://codeforces.com/contest/1619 A. Square String? 题目大意: A string is called square if it is some string written twice in a row. For a given string s determine if it is square. 思路: 首先字符串长度要是偶数,然后直接循环判断字符串前半段和后半段是否

CF1628A-Meximum Array【二分】

正题 题目链接:http://codeforces.com/contest/1628/problem/A 题目大意 给出一个长度为\(n\)的序列\(a\)和一个空序列\(b\),你每次可以选择\(a\)的一个前缀,将它的\(mex\)加入序列\(b\)的末尾,然后将\(a\)的这个前缀删除。 求\(b\)的最大字典序。 \(1\leq \sum n\leq 2\times 10^5,

Codeforces周赛 Round #767 (Div. 2) :C. Meximum Array

C. Meximum Array 题意: 给定一个 a 序列,当 a 非空时可以选择从 a 中切出前 k 个数字(有才行),这 k 个数字取一个 MEX,得出来的结果加给 b 序列,要求构造出的 b 序列满足字典序尽可能大 MEX 指最小的、不存在于该非负序列中的数字 思路: 贪心地去想,每次选出一个数字去补充进要