BZOJ 2083 vector的巧用+二分】的更多相关文章

2083: [Poi2010]Intelligence test Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 469  Solved: 227[Submit][Status][Discuss] Description 霸中智力测试机构的一项工作就是按照一定的规则删除一个序列的数字,得到一个确定的数列.Lyx很渴望成为霸中智力测试机构的主管,但是他在这个工作上做的并不好,俗话说熟能生巧,他打算做很多练习,所以他希望你写一个程序来快速判断他的答案是…
Description 霸中智力测试机构的一项工作就是按照一定的规则删除一个序列的数字,得到一个确定的数列.Lyx很渴望成为霸中智力测试机构的主管,但是他在这个工作上做的并不好,俗话说熟能生巧,他打算做很多练习,所以他希望你写一个程序来快速判断他的答案是否正确. Input 第一行为一个整数m(1<=m<=1000000)第二行包括m个用空格分开的整数ai(1<=ai<=1000000),组成了最初的序列,第三行为一个整数n(1<=n<=1000000),表示n个Lyx…
BZOJ 3343: 教主的魔法(分块+二分查找) 3343: 教主的魔法 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 1172  Solved: 526[Submit][Status][Discuss] 这个题目为什么不能用线段树做事因为C的值不固定,如果用线段树来做,那么每一个C值要从新建一遍线段树,时间会爆炸的 add操作: 1.同一块暴力修改,然后重构 2.两端不完整的暴力修改重构,中间完整的块加标记 查询操作: 1.同一块暴力 2.两…
2083: [Poi2010]Intelligence test Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 469  Solved: 227[Submit][Status][Discuss] Description 霸中智力测试机构的一项工作就是按照一定的规则删除一个序列的数字,得到一个确定的数列.Lyx很渴望成为霸中智力测试机构的主管,但是他在这个工作上做的并不好,俗话说熟能生巧,他打算做很多练习,所以他希望你写一个程序来快速判断他的答案是…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2083 给每个值开一个vector.每个询问挂在其第一个值上:然后枚举给定序列,遇到一个值就访问那个值的vector,把里面的询问序列都向前推进一位,挂在新的值的vector里. 注意不要一边消一边挂,因为可能消的和挂的是同一个值:只要临时存一下就行了. #include<iostream> #include<cstdio> #include<cstring> #i…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2083 先把所有子序列都存下来,总长度应该有限制,所以用 vector 存: 要做到 O(n),就得遍历原序列的同时匹配所有子序列: 注意到,遍历原序列,一个位置上只有一个值(当然啦): 所以考虑这一个值能否推进子序列的匹配,就需要知道每个子序列下一步需要的值是多少: 再换个角度,在每个值上挂一个 vector,存需要这个值的子序列有哪些: 然后遍历到这个位置,就把它的值上挂的所有子序列的匹…
Description 问一个序列是不是起始序列的子序列. Sol 二分. 直接维护每个数出现的位置,二分一个最小的就行. Code /************************************************************** Problem: 2083 User: BeiYu Language: C++ Result: Accepted Time:7024 ms Memory:34132 kb *********************************…
2440: [中山市选2011]完全平方数 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 4805  Solved: 2325[Submit][Status][Discuss] Description 小 X 自幼就很喜欢数.但奇怪的是,他十分讨厌完全平方数.他觉得这些数看起来很令人难受.由此,他也讨厌所有是完全平方数的正整数倍的数.然而这丝毫不影响他对其他数的热爱. 这天是小X的生日,小 W 想送一个数给他作为生日礼物.当然他不能送一个小X讨厌…
[题目分析] 上次用树状数组套主席树做的,这次用整体二分去水. 把所有的查询的结果一起进行二分,思路很好. [代码] #include <cstdio> #include <cstring> #include <cstdlib> #include <cmath> #include <set> #include <map> #include <string> #include <algorithm> #inclu…
用vector,二分. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<vector> #define maxn 1005000 using namespace std; int n,a[maxn],t,m,b[maxn]; vector <int> v[maxn]; int read() { ; ') ch=getc…