随笔分类 - 算法-分块
摘要:【题目链接】 http://www.lydsy.com/JudgeOnline/problem.php?id=2002 【题目大意】 给出一片森林,操作允许更改一个节点的父亲,查询一个节点的深度。 父亲节点的编号一定大于子节点 【题解】 我们将所有的节点按照序号分块,记录其到下一个分块的深度, 以及
阅读全文
摘要:【题目链接】 http://www.lydsy.com/JudgeOnline/problem.php?id=3343 【题目大意】 给出一个数列,有区间加法操作,询问区间大于等于c的数字个数 【题解】 我们将数据分块,区间加法等价于各个块整块加法以及首位部分的个体加法, 由于要查询区间大于等于c的
阅读全文
摘要:【题目链接】 http://codeforces.com/contest/785/problem/E 【题目大意】 一个1到n顺序排列的数列,每次选择两个位置的数进行交换,求交换后的数列的逆序对数 【题解】 我们将序列进行分块。每块维护一个权值树状数组表示各个数字的情况, 每次交换两个数之后我们计算
阅读全文
摘要:【题目链接】 http://acm.timus.ru/problem.aspx?space=1&num=2062 【题目大意】 给出两个操作,操作一给出区间[l,r],对l到r中的每一个下标i, i,2*i,3*i……位置都增加x,操作二要求查询一个位置的当前值 【题解】 在修改的时候,我们将增量只
阅读全文