【奶昔队ROUND#1】】的更多相关文章

奶昔队Round #1 热身 (奶昔队不是真正的队,是群) CodeForces 435C Cardiogram 模拟,不过我做的时候不是模拟,是计算...(写了好久,还wa了几次),现在看了别人的代码写过一份. #include <iostream> #include <algorithm> #define N 1005 using namespace std; int n,x,y,a,h,l; char ma[N<<1][N]; int main() { cin&g…
#6164. 「美团 CodeM 初赛 Round A」数列互质 思路 : 对这个题来言,莫队可以 n*根号n 离线处理出各个数出现个的次数 ,同时可以得到每个次数出现的次数 , 但是还要处理有多少 次数 与ki互质 .根据数列的性质,无论这个区间多长,最长也就是 1 - n这个区间 ,所能产生的 不同的次数 也就是 根号 n 种  例如 长度为28的 数列    1 2 2 3 3 3 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6 7 7 7 7 7 7 7 不同的次数 只有 7…
E. XOR and Favorite Number 题目连接: http://www.codeforces.com/contest/617/problem/E Descriptionww.co Bob has a favorite number k and ai of length n. Now he asks you to answer m queries. Each query is given by a pair li and ri and asks you to count the n…
题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的讲学计划 题解:刚开始理解题意理解了好半天,然后发现好像就是tarjan之后求个最长链? 然后题目规定了从1出发,那么就只将scc[1]放入初始队列. 然后只有10分... 后来我发现了这样的情况:因为只有scc[1]放入了队列,所以其它入度为0的并没有被放入队列,这使得一些点的inp无法减到0,以致无法更新答案 然后我就先从scc[1]dfs了一…
题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的Au%20Plan 题解:看了题之后觉得肯定是DP+优化,因为昨天刚水了一道线段树优化DP的题,所以又想到线段树上去了... 具体做法: 我维护了一个单调递增的f,显然若i<j并且f[i]>f[j],那么f[j]就可以不用 然后我们要找寻>=a[i]的就是连续的一段了,就可以用线段树来查询f[j]-s[j]的最大值了 然后 n*logn 水…
题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的新书 题解:看到这题就想到了 poetize 的封印之门,然后就用差分序列水过了...不过把线段排序也可以一遍扫出来? 代码: #include<cstdio> #include<cstdlib> #include<cmath> #include<cstring> #include<algorithm&g…
题目链接:点击传送 D. Powerful array time limit per test 5 seconds memory limit per test 256 megabytes input standard input output standard output An array of positive integers a1, a2, ..., an is given. Let us consider its arbitrary subarray al, al + 1..., ar…
E. XOR and Favorite Number time limit per test 4 seconds memory limit per test 256 megabytes input standard input output standard output Bob has a favorite number k and ai of length n. Now he asks you to answer m queries. Each query is given by a pai…
题目大意:给你一个长度为n的序列,有m个询问,每次询问一个区间[L,R],表示这个区间内,有多少的a[i]^a[i+1].....^a[j]=k. 思路:莫队去搞就好了 我们定义pre[i]=a[1]^a[2]^....a[i],然后我们再去更新就好了,这里,我们定义区间[L,R]表示我们所要询问的区间即可.然后这里会有一个疑惑,就是为什么while(l<Q[i].l) { Delete(l-1); l++; }和while(l>Q[i].l) { l--; Updata(l-1); }是这样…
题意 (CodeForces 617E) 已知一个长度为\(n\)的整数数列\(a[1],a[2],-,a[n]\),给定查询参数\(l,r\),问\([l,r]\)内,有多少连续子段满足异或和等于\(k\). 也就是说,对于所有的\(x,y (l\le x\le y\le r)\),能够满足\(a[x]\oplus a[x+1]\oplus ...\oplus a[y]=k\)的\((x,y)\)有多少组. 分析 对于这种离线区间的查询问题(不涉及对区间的更改),我们可以使用莫队算法解决.这类…