
主席树
文章平均质量分 64
TA201314
这个作者很懒,什么都没留下…
展开
-
[ONTAK2010]Highways
想学线段树合并找的一个题。。没想到是个傻逼题。这题题意好像有问题:额外的点对和查询的点对都不会是同一个点。设x的dfs序为dfn(x),x的子树中dfs序最大的节点的dfs序为dr(x)。将额外的边(u,v)看作点(dfn(u),dfn(v))(dfn(u)≤dfn(v))(dfn(u),dfn(v))(dfn(u)\le dfn(v))。对于一次查询(u,v)(dfn(u)≤dfn(v))(u,v原创 2016-04-27 14:52:16 · 691 阅读 · 0 评论 -
[bzoj3956]Count 解题报告
先来说一下我的傻逼做法: 注意到合法点对只会有2N个,因为一个点作为较小的端点+左/右端点只会有一次,就是和左/右边第一个大于等于它的配对。所以直接上主席树就行。 时间复杂度O(nlogn)O(n\log n)再来膜拜一下morestep大爷的做法(我最近好像每道题都是各种傻逼做法。。): 注意到实际上这道题的点对关系只有相离和包含两种,不会出现abab这种情况。 而且实际上区间最大值会把这原创 2016-04-19 10:54:20 · 1048 阅读 · 0 评论 -
[spoj10707]Count on a tree II 解题报告
一开始不知道这是主席出的神题,不小心点开了。。结果做了1天(想了半天+写了半天)。 我是学莫队的时候在某大神的莫队课件里看到这道题的,他说可以用莫队做。(但这真的算莫队么?) 这道题非常奇怪,就是把 HH的项链 搬到了树上,但是这样就变得好难。。我一开始的想法跟po姐姐的做法差不多,就是把dfs序分成大小为S的块,然后就是O(N3S2+MS)O({N^3\over S^2}+MS),这样显然块越原创 2016-04-06 16:13:16 · 2556 阅读 · 0 评论 -
[Ahoi2013]作业 解题报告
很久以前用奇葩做法搞的题。。现在补个解题报告。传统做法: 考虑莫队,就需要我们设计一个O(1)O(1)插入,O(n√)O(\sqrt n)查询的数据结构,显然就需要对权值分块,记每个数出现次数和每个块两问的答案(或者第一问另写个主席树也可以,我比较懒)。莫队的块就分成nm√n\over \sqrt m块。时间复杂度O(mn√+nm−−√)O(m\sqrt n+n\sqrt m)。非常好写,跑的飞快原创 2016-04-22 17:00:09 · 1188 阅读 · 0 评论