随笔分类 -  算法-分块

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