Codeforces 1142B(倍增)
1.先预处理出在循环中某数前面的数是谁。
2.读入a数列时贪心选取最晚的父亲。
3.链上倍增预处理二进制祖先。
4.对于每个位置,预处理第n-1个祖先位置最早要从哪里开始,技巧上再顺手与前一位的最早位置取max,尽量缩小区间。
5.查询已经可做。
const int maxn = 2e5 + ;
int n, m, q, permu[maxn], pre[maxn], a[maxn], f[maxn][], late[maxn], L[maxn]; int Find(int pos, int n) {
irep(i, , )
if (n >= << i) {
n -= << i;
pos = f[pos][i];
}
return pos;
} int main() {
scanf("%d%d%d", &n, &m, &q); rep(i, , n - )
scanf("%d", &permu[i]);
rep(i, , n - )
pre[permu[i]] = permu[(i - + n) % n]; rep(i, , m) {
scanf("%d", &a[i]);
f[i][] = late[pre[a[i]]];
late[a[i]] = i;
}
rep(i, , )
rep(j, , m)
f[j][i] = f[f[j][i - ]][i - ];
rep(i, , m)
L[i] = max(Find(i, n - ), L[i - ]); while (q--) {
int l, r;
scanf("%d %d", &l, &r);
printf("%d", L[r] >= l);
} return ;
}
Codeforces 1142B(倍增)的更多相关文章
- Codeforces 356D 倍增优化背包
题目链接:http://codeforces.com/contest/356/problem/D 思路(官方题解):http://codeforces.com/blog/entry/9210 此题需要 ...
- Codeforces 1142B Lynyrd Skynyrd
---恢复内容开始--- 题意:给你一个排列p和数组a,有t组询问,每次询问一个区间的子序列中是否有p的一个循环排列. 思路:以p = [3, 1, 2]举例, 我们扫描数组b,假设当前数字是1,那么 ...
- Codeforces 314B(倍增)
题意:[a,b]表示将字符串a循环写b遍,[c,d]表示把字符串c循环写d遍,给定a,b,c,d,求一个最大的p,使得[[c,d],p]是[a,b]的子序列(注意不是子串,也就是不要求连续).(b,d ...
- Codeforces 1175E 倍增
题意:给你n个区间和m次询问,每次询问一个区间[l, r]至少需要几个区间覆盖? 思路:如果只有一个区间,并且区间是整个取值范围的话,这是一个经典的区间覆盖问题,我们都知道贪心可以解决.现在我们需要快 ...
- LCA统计
读入挂 inline void read(int &v) { v = ; ; ; ') { if (c == '-') { p = -; } c = getchar(); } ') { v = ...
- CodeForces 623E Transforming Sequence 动态规划 倍增 多项式 FFT 组合数学
原文链接http://www.cnblogs.com/zhouzhendong/p/8848990.html 题目传送门 - CodeForces 623E 题意 给定$n,k$. 让你构造序列$a( ...
- Codeforces 980E The Number Games 贪心 倍增表
原文链接https://www.cnblogs.com/zhouzhendong/p/9074226.html 题目传送门 - Codeforces 980E 题意 $\rm Codeforces$ ...
- Codeforces Round #514 (Div. 2) E. Split the Tree(倍增+贪心)
https://codeforces.com/contest/1059/problem/E 题意 给出一棵树,每个点都有一个权值,要求你找出最少条链,保证每个点都属于一条链,而且每条链不超过L个点 和 ...
- Codeforces Round #371 (Div. 1) D. Animals and Puzzle 二维倍增
D. Animals and Puzzle 题目连接: http://codeforces.com/contest/713/problem/D Description Owl Sonya gave a ...
随机推荐
- LightOJ1370 Bi-shoe and Phi-shoe —— 欧拉函数
题目链接:https://vjudge.net/problem/LightOJ-1370 1370 - Bi-shoe and Phi-shoe PDF (English) Statistics ...
- zabbix 优化之 表分区
参考文献: http://www.th7.cn/db/mysql/201405/51681.shtml
- __FILE__,__LINE__,__func__ 真好用,DEBUG利器啊!
我是不喜欢用类似VC下的F5,F10.曾经很喜欢用.被代码逻辑逼的没招了.所以不喜欢用了. 比如,错误是根据动态数据,产生的行为错误,无论是该写的未写,还是不该写的写了.指针跑飞什么等等,无非就是上述 ...
- zoj 2316 Matrix Multiplication 解题报告
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2316 题目意思:有 N 个 点,M 条 边.需要构造一个N * ...
- git解决冲突方式
Git解决冲突 安装beyond compare 4 2.配置git对比工具 #difftool 配置 git config --global diff.tool bc4 git config --g ...
- BZOJ_2208_[Jsoi2010]连通数_强连通分量+拓扑排序+手写bitset
BZOJ_2208_[Jsoi2010]连通数_强连通分量+拓扑排序+手写bitset Description Input 输入数据第一行是图顶点的数量,一个正整数N. 接下来N行,每行N个字符.第i ...
- MSTAR GUI
1.架构 WIN32 SDK ACT->CTL->API->GE/GOP ACT: Customized logic parts CTL: Behavior widgets API: ...
- 微信小程序基础组件
所有的组件与属性都是小写,以连字符 - 连接 共同的属性类型: class id style bind*/catch* hidden data-* block标签. <block> 并不是 ...
- dockerfile_nginx+PHP+mongo数据库_完美搭建
基于dockerfile创建nginx+PHP+mongo数据库_完美搭建 第一步: 从git上:git clone http://git.oursdata.com/wangyue/d ...
- 爬虫库之BeautifulSoup学习(二)
BeautifulSoup官方介绍文档:https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html 四大对象种类: Beau ...