
莫队算法
Ripped
我那么浮躁却想要读懂你的生活
展开
-
【BZOJ 2038】小Z的袜子&莫队算法详解
莫队算法裸题 显然对于一个区间[l,r],可以在O(1)的时间里转移到[l,r+1]或[l,r-1]。 证明: ans=∑(sum(i)∗(sum(i)−1)/2)(R−L+1)∗(R−L)/2ans = \frac{\sum (sum(i) * (sum(i) - 1) / 2)}{(R - L + 1) * (R - L) / 2} 其中sum(i)表示第i种颜色的袜子的数量,把这原创 2017-04-17 11:33:23 · 366 阅读 · 0 评论 -
【CF86D】Powerful array
莫队裸题 每次加入一个a[i],ans=ans-k(a[i])^2*a[i]+(k(a[i])+1)^2*a[i],去掉一个a[i]同理,都能在O(1)的时间里完成转移。我做的时候把这个式子化开来了,用的位运算。#include<cmath> #include<cstdio> #include<iostream> #include<algorithm> #define ll long long #原创 2017-04-17 14:29:03 · 362 阅读 · 0 评论