莫队
1035719430
浙江弱校弱选手
展开
-
bzoj3339(莫队+分块)
同bzoj3585,甚至不用处理大于n的情况 这题时限20s我19.5s好险啊QAQ#include<bits/stdc++.h>using namespace std;int n , Q , k;int a[201000] , belong[201000];int flag[201000];int sum[500] , t;//k=块的大小 对数字进行分块 st...原创 2018-07-19 13:42:14 · 246 阅读 · 0 评论 -
bzoj3585(莫队+分块)
显而易见我们可以发现,大于nnn的数是不会对答案产生贡献的。 我们将大于nnn的数变为nnn统计答案。 将111~nnn的数分块,每块记录一个数字表示块内出现过的自然数的个数。 然后上莫队暴力维护即可。#include<bits/stdc++.h>using namespace std;int n , Q , k;int a[201000] , belong[201...原创 2018-07-19 13:39:06 · 520 阅读 · 0 评论 -
bzoj4540(莫队+前缀和+ST表)
考虑右端点的贡献。 假设l[i]l[i]l[i]表示iii左边第一个比a[i]a[i]a[i]小的位置。 那么一段区间(l,r)(l,r)(l,r)的贡献大概就是 ∑i>=li=r(i−l[i])∗a[i](i=l[i])∑i=ri>=l(i−l[i])∗a[i](i=l[i])\sum_{i = r}^{i >= l} (i-l[i])*a[i](i = l[i]) 这个我们...原创 2018-07-19 07:58:10 · 210 阅读 · 0 评论 -
bzoj2038(莫队入门)
Description 作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿。终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命…… 具体来说,小Z把这N只袜子从1到N编号,然后从编号L到R(L 尽管小Z并不在意两只袜子是不是完整的一双,甚至不在意两只袜子是否一左一右,他却很在意袜子的颜色,毕竟穿两只不同色的袜子会很尴尬。 你的任务便是告诉小Z,他...原创 2018-07-17 18:59:42 · 223 阅读 · 0 评论 -
bzoj3289(莫队+树状数组)
经典题目。 每次删除和加入直接在树状数组里进行统计即可#include<bits/stdc++.h>using namespace std;int a[50100] , n , Q , m;int tmp[50100];int tr[50100] , belong[50100];unsigned int ans,out[50100];struct data{ ...原创 2018-07-18 16:06:46 · 273 阅读 · 0 评论