上一页 1 ··· 36 37 38 39 40 41 42 43 44 ··· 83 下一页
摘要: 嘟嘟嘟 树上莫队。 要会树上莫队,得先会树上分块,A了王室联邦再说。(欢迎查看我的题解) 其实树上莫队和线性的莫队很像,大体思路完全一样:先把询问分块,然后按块排序。接着如果带修改的话就维护三个指针,否则两个。 但是有一个区别,就是移动指针的时候该怎么移。线性莫队往左往右移并且统计答案就行了。但是树 阅读全文
posted @ 2018-12-07 12:29 mrclr 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 学树上莫队的时候给我推了糖果公园,然后题解说最好先把这道题做了,于是我就来了 这道题好像就是所谓的树上分块。 题中的限制很宽,只要输出任意一种合法方案就行。那么在dfs的时候自然能想到如果当前子树大小大于$B$的话,就把这个子树分成一块。 但这么做肯定不对,因为如果只扣掉一棵子树的其中一部分 阅读全文
posted @ 2018-12-06 18:58 mrclr 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 莫队板子。 记住:删除是先删除再移动,添加是先移动在添加! #include<cstdio> #include<iostream> #include<cmath> #include<algorithm> #include<cstring> #include<cstdlib> #include 阅读全文
posted @ 2018-12-06 17:13 mrclr 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 一眼就知道是莫队。 还不带修改,美滋滋。 按莫队的方法排序,然后用小学数学算一下概率,分子分母单独维护。 #include<cstdio> #include<iostream> #include<cmath> #include<algorithm> #include<cstring> #in 阅读全文
posted @ 2018-12-06 16:40 mrclr 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 这题原本莫队能过,自从某谷加强数据后好像就只能80了。 但这并不重要。 (其实写这篇博客只是想记录一下莫队板子) 莫队,总而言之,离线,排序,暴力。 #include<cstdio> #include<iostream> #include<cmath> #include<algorithm> 阅读全文
posted @ 2018-12-06 15:55 mrclr 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 带修改莫队。 以前学过没懂,今天又学了一遍竟然会了。 其实他跟普通莫队相比,就多了一维:时间。 首先也是都离线。 然后对于每一个询问,记录这几个信息: 1.左右端点。 2.询问编号。(为了输出答案) 3.时间编号。 然后把询问排序。这个和无修改莫队一样,第一关键字是左端点所在块,第二关键字是 阅读全文
posted @ 2018-12-06 15:50 mrclr 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 有谁能想到这题会用到主席树呢?(不愧是WJMZBMR出的题) 首先考虑如果区间是固定的话,中位数该怎么求。 没错,二分。如果大于当前二分值$mid$的数比小于$mid$的数多,说明$mid$还可以再变大,向右二分;否则向左二分。 如果我们把小于$mid$的数都标记成$-1$,大于的标记成$1 阅读全文
posted @ 2018-12-06 08:27 mrclr 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 区间第$k$大扯到树上啦 但是不要慌,仍是不难,仔细想一下就行了。 主席树中的每一棵线段树维护的是一个前缀的答案。利用这一点,把前缀放到树上的话,就是每一个节点到根节点的答案。 所以主席树就建出来啦。 对于每一组询问$(x, y, k)$,令$z = lca(x, y)\(,则\)(x, y 阅读全文
posted @ 2018-12-05 17:04 mrclr 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 一句话题意:带修改区间第$k$小。 不修改都会,主席树板子。但是有修改就要比较深入的理解主席树了。 众所周知,主席树中以$i$为根的线段树维护的是$[1, i]$这个前缀的权值,因此若修改一个点$a[x]\(,必须把\)[x, n]$的线段树全修改了,单次修改复杂度为$O(n \log)$, 阅读全文
posted @ 2018-12-05 12:39 mrclr 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 很显然是主席树啊。 首先要稍微想想:主席树的板子是单点插入,区间查询,而区间询问是用的是前缀和相减。但这道题是区间修改,单点查询。插入和查询操作是相反的。 那么就能想到前缀和的逆运算——差分。首先把修改区间拆成$L$和$R + 1$两个时间点,然后按时间排序,遇到$L$就把对应的优先级$+1 阅读全文
posted @ 2018-12-04 22:19 mrclr 阅读(177) 评论(0) 推荐(0) 编辑
上一页 1 ··· 36 37 38 39 40 41 42 43 44 ··· 83 下一页