
分块
做不完的ACM
加油,努力
展开
-
BZOJ2038
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2038题意:有N个袜子,每个袜子有不同的颜色,给出M个询问,每次询问给出L,R,从L~R区间选择2个袜子,问2个袜子相同的概率,输出格式见题目。题解:轻松推下转化为求L,R里,设有K个不同的数,每个数出现的次数为a[i]。答案为 sigma(1~k)a[i]^2 - (r-l+1)/原创 2018-01-12 15:19:46 · 283 阅读 · 0 评论 -
分块/莫队算法Codeforces86D
题目链接:http://codeforces.com/contest/86/problem/D#include using namespace std;using ll = long long ;const int N = 1E6 + 7;int a[N], belong[N], BLOCK, sum[N];ll res, ans[N];struct node{ int原创 2018-01-13 14:58:52 · 268 阅读 · 0 评论 -
BZOJ2120
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2120#include using namespace std;const int N = 10007;int n, c[N], sum[N*100], ans[N], belong[N], BLOCK, res = 0; //ans答案数组,totq总询问,totch总修改,r原创 2018-01-13 16:36:07 · 222 阅读 · 0 评论 -
BZOJ3289
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3289题意:求区间逆序对。题解:莫队,然后树状数组求逆序对。注意:要离散化。比如l,r这段区间增加前面增加一个数a[l-1], 只用考虑l,r这段区间里比 a[l-1]-1 小的数,记为cnt, 答案减去cnt,然后更新下.比如l,r这段区间后面加一个数a[r+1],原创 2018-01-13 18:56:37 · 273 阅读 · 0 评论 -
Codeforces 940F
题目链接:http://codeforces.com/contest/940/problem/FCF Round #466的最后一题,颇有难度,正解是带修改莫队算法。【题意】给定一个长度为nn的数组aa,并且要求执行qq个操作,有两种不同的操作:①询问一个区间[l,r][l,r]中集合{c0,c1,c2,⋯,c109}{c0,c1,c2,⋯,c109}的Mex,而cici表示数值ii在[l,r][...原创 2018-03-07 17:41:27 · 304 阅读 · 0 评论