摘要: 分块:先预处理,将原序列分成长度为len的许多块,计算从第i块到第j块的答案,(可以做到O(n*n/len))。每次询问时,将询问的区间分成三部分,:左边,中间,右边,中间是尽量大的一个块区间,其答案已经计算得到,左右两边加起来最多有2*len个元素,暴力计算其对答案的影响。O(q*len*f(n)... 阅读全文
posted @ 2015-02-24 21:45 idy002 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 如果不是在线,就是裸的莫队。但这道题要求在线,然后就不会了。。标程:http://hi.baidu.com/__vani/item/ecc63f3527395283c2cf2945算法主要是分块,然后处理处f[i][j]从第i块到第j块这个块区间的信息。第一个算法的思想是每个块区间除了维护答案,还记... 阅读全文
posted @ 2015-02-24 14:42 idy002 阅读(1293) 评论(0) 推荐(0) 编辑
摘要: 又忘了给每个点标所属的块,瞬间就变成一个块了。写莫队一定要试一下随机极限数据。 1 /************************************************************** 2 Problem: 3781 3 User: idy002 4 ... 阅读全文
posted @ 2015-02-23 16:27 idy002 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 莫队维护逆序对,区间左右增减要分类讨论。记得离散化。 1 /************************************************************** 2 Problem: 3289 3 User: idy002 4 Language... 阅读全文
posted @ 2015-02-23 16:22 idy002 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 收获: 1、分块时顺便记录每个位置所属的块,然后一次排序就OK了。 2、要权衡在“区间移动”与“查询结果”之间的时间,莫队算法一般区间移动频率远大于查询结果,所以我们选择的辅助数据结构时就要注意了,我最开始写的是值域线段树,自己生成的极限数据要1m8s,改成树状数组后要24s,还是过不了,hzw... 阅读全文
posted @ 2015-02-23 13:23 idy002 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 感谢以下文章作者:http://blog.csdn.net/kuribohg/article/details/41458639http://vfleaking.blog.163.com/blog/static/174807634201311011201627/http://blog.csdn.net... 阅读全文
posted @ 2015-02-22 21:40 idy002 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 将树分成一些块,做法见vfleaking博客。 1 /************************************************************** 2 Problem: 1086 3 User: idy002 4 Language: C++ 5... 阅读全文
posted @ 2015-02-22 17:20 idy002 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 莫队,利用可以快速地通过一个问题的答案得到另一问题的答案这一特性,合理地组织问题的求解顺序,将已解决的问题帮助解决当前问题,来优化时间复杂度。典型用法:处理静态(无修改)离线区间查询问题。线段树也是处理区间问题的一个有力工具,它和莫队算法各有特点:线段树可以支持修改,并且单次操作时间复杂度一般为O(... 阅读全文
posted @ 2015-02-22 14:30 idy002 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 本题将一道LCT的题特殊化(支持加边和删边,询问图的连通性),将图变成了2×m的网格图,然后就神奇地可以用线段树来维护。对于每个区间[l,r],维护其四个角落之间的连通性(仅仅通过[l,r]这段的边构建起的连通性)。查询[l,r]时,先计算出[1,l-1],[l,r],[r+1,c]这三个线段的连通... 阅读全文
posted @ 2015-02-21 22:14 idy002 阅读(419) 评论(0) 推荐(0) 编辑
摘要: 这道题几经波折啊。最开始和vfleaking一样,把题意理解错了,认为一个装备可能被多个装备依赖,然后想不出来,去看题解。发现自己理解错了题意,自己想想,其实也不难想到dp[i][j][k]表示“i号节点代表的子树,用掉j的钱,给父亲预留k个自己(但还是父亲付钱)”的状态,写出来交上去就是T,开始以... 阅读全文
posted @ 2015-02-21 15:50 idy002 阅读(165) 评论(0) 推荐(0) 编辑