树套树
cervoliu
这个作者很懒,什么都没留下…
展开
-
【JZOJ 4606】 序列
Description Analysis记mx[i]为i位置上变化的MAX,mn[i]同理。 DP方程显然: f[i]=Maxj<i,mx[j]<a[i],a[j]<mn[i]f[j]+1f[i]=Max_{j<i,mx[j]<a[i],a[j]<mn[i]}f[j]+1 把后两个约束化成二维平面上的,然后树状数组套线段树。 注意动态开节点。 时间O(nlog22n)O(nlog_2^2原创 2016-07-14 10:42:04 · 398 阅读 · 0 评论 -
可修改区间k-th number
可修改区间k-th number的介绍 不带修改的区间k-th number这个众所周知了。可以用主席树实现。 具体的话其实就是开nn棵权值线段树,动态开节点,由于每次增加一个点最多只会新建log2nlog_2n个点,所以空间复杂度为O(nlog2n)O(nlog_2n)。 我们在权值线段树上记录该范围数的出现次数,然后可以发现查询的两个区间端点的线段树信息可以相减,于是就可以线段树上二分了。原创 2016-07-18 10:21:59 · 609 阅读 · 0 评论 -
【typical】【JZOJ 5296】Sequence
Description Analysis努力寻找突破口,整体二分 关于CDQ分治与整体二分,很多人都不能分清它们(包括本Konjac),因为思想极其相似。网上看来的:cdq分治是用[l, mid]更新[mid+1,r],整体二分根据[l,mid]来把询问的答案划分给[l,mid]或者[mid+1,r] Code#include<cstdio> #include<cstring> #includ原创 2017-08-17 21:41:07 · 366 阅读 · 0 评论