![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
莫队算法
文章平均质量分 50
SaltyFishWei
这个作者很懒,什么都没留下…
展开
-
莫队算法(NBUT1457 Sona)
如果一个问题可以简单地描述为:对于一个长度为n数组,给出m个查询,每个查询为区间[L,R]。。。。 显然,当l=1,r=n时该算法的时间复杂度为O(n^2),但是通过莫队算法改变查询的顺序,我们能够把时间复杂度降为O(n*√n),此处证明略去。 维护一个当前的左右端点currentL和currentR,表示当前查询到的位置,对于第i个查询区间[l,r]暴力地将currentL和currentR原创 2016-03-04 10:23:27 · 400 阅读 · 0 评论 -
Codeforces 86D Powerful array(莫队算法)
莫队算法的裸题。n^2可以展开成等差数列1+3+5....+2*n-1的和,这样一来插入和删除操作就变得简单多了。 #include #include #include #define MAXN 200010 using namespace std; int a[MAXN],n,t,block,cnt[1000010]; long long ans[MAXN],now; struct Q {原创 2016-03-04 10:29:18 · 351 阅读 · 0 评论 -
[2009国家集训队]小Z的袜子(hose)(莫队算法)
裸的莫队算法题目。区间[l,r]一共有C2r−l+1=(r−l)(r−l+1)2C_{r-l+1}^2 = \frac {(r-l)(r-l+1)}{2}种选取袜子的方案,假设在区间[l,r]内颜色为x的袜子有k只,那么有C2k=k(k−1)2C_{k}^2 = \frac {k(k-1)}{2}种选取方案。#include<cstdio> #include<algorithm> #include<原创 2016-03-04 12:06:53 · 247 阅读 · 0 评论