
莫队算法
LowestJN
强省弱OIer
展开
-
[BZOJ2120][带修改莫队算法]数颜色
待修改莫队裸题,打完后发现N^2貌似也能过….#include <cstdio> #include <iostream> #include <algorithm> #include <cmath> #define N 100010using namespace std;int n,m,cnt0,cnt1,x,y,block,g,L,R,Ans; char op; int A[N],b[N],app[原创 2017-02-21 20:41:12 · 671 阅读 · 0 评论 -
[莫队维护DP] LOJ#6074. 「2017 山东一轮集训 Day6」子序列
如果只考虑求一个数列的不同子序列个数,可以简单地DP出来fi=2×fi−1−flstai−1f_{i}=2\times f_{i-1}-f_{lst_{a_i}-1},其中 lstjlst_j 表示字符 jj 上次出现的位置,没出现过就忽略但是这样不好维护可以换一种DP方式,fi,jf_{i,j} 表示以字符 ii 开头,字符 jj 结尾的子序列个数。那么在左边新加一个字符 xx ,fx,if_{x原创 2017-10-12 18:20:11 · 1087 阅读 · 0 评论 -
[莫队] BZOJ5016: [Snoi2017]一个简单的询问
ans=∑∞x=0(px,r1−px,l1−1)(px,r2−px,l2−1)ans=\sum_{x=0}^\infty (p_{x,r1}-p_{x,l1-1})(p_{x,r2}-p_{x,l2-1}) 展开得到 ans=∑x=0∞px,r1px,r2−∑x=0∞px,r1px,l1−1−∑x=0∞px,r2px,l1−1+∑x=0∞px,l1−1px,l2−1ans=\sum_{x=0}原创 2018-01-24 15:01:40 · 503 阅读 · 0 评论 -
[莫队 分块] LOJ#6273. 郁金香
区间询问,用莫队处理 记录每种颜色出现的次数,然后令 si" role="presentation">sisis_i 表示当前区间有多少种颜色出现次数在 (i−1)∗S+1∼i∗S" role="presentation">(i−1)∗S+1∼i∗S(i−1)∗S+1∼i∗S(i-1)*S+1\sim i*S 之间,这样就可以 O(nS+S原创 2018-02-03 16:28:15 · 321 阅读 · 0 评论