
分块
文章平均质量分 87
cillyb
这个作者很懒,什么都没留下…
展开
-
CodeForces 785E Anton and Permutation (分块)
题意:初始是一个1-n的长度为n的有序数组,现在q次询问,每次询问交换a[l], a[r] 并且输出交换后整个数组有多少对逆序对(每次循环具有后效性)。1 ≤ n ≤ 200 000, 1 ≤ q ≤ 50 000思路:第一个分块题,看到一篇讲的非常好的博客(戳这里),我写的话肯定没他写的好,,,粘下他的思路吧:当交换a[l]和a[r]时。讨论区间为(l,r),那么原创 2017-08-11 01:35:10 · 636 阅读 · 0 评论 -
HDU 5213 Lucky(莫队+容斥)
题意:给你n个数和一个k,现在q次询问,每次给你两个区间L~R, U~V, 问你从L~R中取一个x,从U~V中取一个y,使得x+y = k的方案数。 N(1≤N≤30000) M(1≤M≤30000) Li,Ri,Ui,Vi(1≤Li≤Ri思路:这题的每次询问有两个区间,不好操作,因为这题的方案数区间与区间之间具有可加性,也就是说询问L~R和U~V,我们可以求出四个区间,再原创 2017-08-11 01:24:28 · 366 阅读 · 0 评论 -
BZOJ 2038 小Z的袜子(hose) (莫队算法入门题)
思路:第一个莫队题,感觉莫队对离线处理好强。。。如果我们已知[l,r]的答案,能在O(1)时间得到[l+1,r]、[l,r-1]、[l-1,r]、[l,r+1]的答案(不一定O(1)也可以,因为有时需要套下其他数据结构,复杂度变为n*sqrt(n)*logn 有时也是能接受的),即可使用莫队算法。时间复杂度为O(n*sqrt(n))。对于这题:询问L~R。设颜色为x,y,z..原创 2017-08-10 01:11:33 · 756 阅读 · 0 评论