[CF940F]Machine Learning
codeforces #一句话题意 求区间数字出现次数的mex,带修改 #sol 带修膜队不解释 带修膜队的排序! struct query{ int id,l,r,t; bool operator < (const query &b) const { if (l/block!=b.l/block) return l/block<b.l/block; if (r/block!=b.r/block) return r/block<b.r/block; return t<b.t; } }q1[N]; 左端点所在块为第一关键字, 右端点所在块 为第二关键字,操作版本为第三关键字。 块的大小是$n^{\frac{2}{3}}$,复杂度是$O(n^{\frac{5}{3}})$ 然后就是离散化数组要开两倍 ##code #include<cstdio> #include<algorithm> #include<cmath> using namespace std; int gi() { int x=0,w=1;char ch=getchar(); while ((ch<'0'||ch>'9')&&ch!='-') ch=getchar(); if (ch=='-') w=0,ch=getchar(); while (ch>='0'&&ch<='9') x=(x<<3)+(x<<1)+ch-