
莫队
g1n0st
明日安在,无人能允知乎专栏: zhuanlan.zhihu.com/g1n0st
展开
-
[BZOJ 2120][数颜色][带修改的莫队]
[BZOJ 2120][数颜色][带修改的莫队]安利大法好,有关莫队算法可以关注这篇文章: https://zhuanlan.zhihu.com/p/25017840题目大意:处理两种询问,第一种是统计区间[L,R][L,R]中有几种不同的颜色,第二种是将颜色A修改成B。询问数和区间长度都<=10000,暴力完全可过……思路:和普通莫队同理,分块后用(l,r)(l,r)去更新(l+1,r),(l−原创 2017-02-23 14:47:12 · 399 阅读 · 0 评论 -
[BZOJ3781][小B的询问][莫队]
[BZOJ3781][小B的询问][莫队]题目:有一个序列,包含N个1~K之间的整数。他一共有M个询问,每个询问给定一个区间[L..R],求Sigma(c(i)^2)的值,其中i的值从1到K,其中c(i)表示数字i在[L..R]中的重复次数。思路:裸的莫队吧。。直接开数组CC暴力维护每个数出现的次数,区间转移的时候如果假如加入一个数kk,维护平方和就是: ans=ans−C[k]2+(++C[k]原创 2017-02-27 11:21:10 · 305 阅读 · 0 评论 -
[BZOJ3585&3339][Rmq Problem][莫队+二分+树状数组]
[BZOJ3585&3339][Rmq Problem][莫队+二分+树状数组]题目大意:有一个长度为n的数组{a1,a2,…,an}。m次询问,每次询问一个区间内最小没有出现过的自然数。思路:先把所有操作离线然后莫队,然后对于每个操作,先二分最多的从1开始一段连续的数n。(连续的一段值肯定是n)这样n+1就是最小没有出现过的自然数。然后把0特判一下就好了。有一个优化就是不考虑大于n的数,因为这些数原创 2017-03-29 18:58:40 · 417 阅读 · 0 评论 -
[BZOJ2453][维护队列][莫队]
[BZOJ2453][维护队列][莫队]裸的莫队吧。。代码:#include <cstdio>#include <cmath>#include <algorithm>const int Maxn = 1010000;using namespace std;inline char get(void) { static char buf[1000000], *p1 = buf, *p2原创 2017-03-29 19:30:18 · 359 阅读 · 0 评论