CF813E Army Creation
题意
\(n\)个数\(a[i] ,q\)次询问,\(n,a[i],q<=10^5\)每次问\([l,r]\)内最多可以选多少个数,满足同一个数的出现次数不超过\(k\)
强制在线
Sol
处理出每个数往前数第\(k+1\)个与它相同的位置
没有则为\(0\)
那么就是求区间内所有的该值小于\(l\)的数
主席树来做就好了
# include <bits/stdc++.h>
# define RG register
# define IL inline
# define Fill(a, b) memset(a, b, sizeof(a))
using namespace std;
typedef long long ll;
const int _(1e5 + 5);IL int Input(){RG int x = 0, z = 1; RG char c = getchar();for(; c < '0' || c > '9'; c = getchar()) z = c == '-' ? -1 : 1;for(; c >= '0' && c <= '9'; c = getchar()) x = (x << 1) + (x << 3) + (c ^ 48);return x * z;
}int n, k, rt[_], tot;
struct HJT{int ls, rs, sz;
} T[_ * 20];
vector <int> num[_];IL void Modify(RG int &x, RG int l, RG int r, RG int p){T[++tot] = T[x], ++T[x = tot].sz;if(l == r) return;RG int mid = (l + r) >> 1;if(p <= mid) Modify(T[x].ls, l, mid, p);else Modify(T[x].rs, mid + 1, r, p);
}IL int Query(RG int x, RG int l, RG int r, RG int p){if(!x) return 0;if(l == r) return T[x].sz;RG int mid = (l + r) >> 1;if(p <= mid) return Query(T[x].ls, l, mid, p);return T[T[x].ls].sz + Query(T[x].rs, mid + 1, r, p);
}int main(RG int argc, RG char* argv[]){n = Input(), k = Input();for(RG int i = 1, a, b; i <= n; ++i){a = Input(), num[a].push_back(i);RG int l = num[a].size();if(l <= k) b = 0;else b = num[a][l - k - 1];rt[i] = rt[i - 1], Modify(rt[i], 0, n, b);}for(RG int q = Input(), ans = 0; q; --q){RG int l = Input(), r = Input();l = (l + ans) % n + 1, r = (r + ans) % n + 1;if(l > r) swap(l, r);printf("%d\n", ans = Query(rt[r], 0, n, l - 1) - Query(rt[l - 1], 0, n, l - 1));}return 0;
}
转载于:https://www.cnblogs.com/cjoieryl/p/8546515.html
CF813E Army Creation相关推荐
- CodeForces - 813E Army Creation(主席树+思维)
题目链接:点击查看 题目大意:给出一个长度为 nnn 的数列和一个整数 kkk,现在有 qqq 次询问,每次询问给出一个区间 [l,r][l,r][l,r],设 cnticnt_icnti 为数字 ...
- Educational Codeforces Round 22 E. Army Creation 【主席树】
题目链接 题意 给出一个序列a[1..n]a[1..n]a[1..n],mmm 次询问区间 [L,R][L,R][L,R] 可以选多少个数(相同的数最多选 KKK 个),强制在线 题解 先求出每个 i ...
- Blender创建三维教室场景学习教程 3D Classroom Environment Creation in Blender
流派:电子学习| MP4 |视频:h264,1280×720 |音频:AAC,48.0 KHz 语言:英语+中英文字幕(根据原英文字幕机译更准确)|大小解压后:3.73 GB 含课程文件 |时长:4h ...
- 3D游戏设计和创作工具学习教程 3D Game Design Creation Tools
语言:英语+中英文字幕(根据原英文字幕机译更准确) 大小解压后:1.94G 1280X720 mp4 三维游戏设计和创作工具 用扎实的工作流程开始开发游戏 课程获取:3D游戏设计和创作工具学习教程 3 ...
- Requested bean is currently in creation: Is there an unresolvable circular reference?
2019独角兽企业重金招聘Python工程师标准>>> 今天开发写代码,运行代码的时候 出现了 这个错误 : Requested bean is currently in creat ...
- hibernate Disabling contextual LOB creation as connection was null
使用hibernate通路sybase当遇到异常. Could not obtain connection metadata : ASE is now using a multi-byte c ...
- Effect of Switchovers, Failovers, and Control File Creation on Backups
对dataguard 官方文档里面的这句话不理解,是否能给出一个样例说明: 10.2.0.5的版本号 Effect of Switchovers, Failovers, and Control Fil ...
- 《Credit Risk Scorecard》第五章: Development Database Creation
第五章:Scorecard Development Process, Stage 3: Development Database Creation Selection of Characteristi ...
- Paper:《NÜWA: Visual Synthesis Pre-training for Neural visUal World creAtion,女娲:用于神经视觉世界创造的视觉》翻译与解读
Paper:<NÜWA: Visual Synthesis Pre-training for Neural visUal World creAtion,女娲:用于神经视觉世界创造的视觉>翻 ...
最新文章
- webapi demo
- 从hook007学习dll劫持自启动方式
- python pytz 获取指定时区的时间
- 【NLP机器学习基础】从线性回归和Logistic回归开始
- c++ 不允许使用不完整的类型_Python入门高级教程--Python?变量类型
- 基于torch.nn.functional.conv2d实现CNN
- 西门子主程序调用子程序_S7200Smart 子程序局部变量使用教程
- java 字符菜单_java该怎么写左侧菜单树
- 关于pytorch GPU版本安装的问题
- webpack4开始使用
- JAVA接口继承、抽象类等
- 电容元器件外观视觉检测系统方案设计-东莞康耐德
- 小程序分享图片给好友,到朋友圈,保存到本地
- 使用Python自动生成带有图表文字的PDF(附带万字完整代码)
- [Go实战]CGO 入门系列-手把手教程4 调用 libevent (c语言类库)为案例
- 发疯的腾讯微博邀请码
- 物联卡中心:物联卡是正规卡吗?与流量卡有什么区别?
- 图解固件、驱动、软件的区别
- [转载]你所不了解的DevOps
- C语言for循环打印各种字符三角形+菱形的方法