上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 63 下一页
摘要: IV.IV.[Ynoi2016] 镜中的昆虫 没错,这里就是CDQ分治 \(O(n)\) 的优势所在了——本题似乎卡掉了空间复杂度为 \(O(n\log^2n)\) 的树套树。 但这不妨碍我继续说:树套树yyds 首先,这里有一个结论:长度为 \(n\) 的序列,修改 \(m\) 次,\(las\) 阅读全文
posted @ 2021-04-06 10:45 Troverld 阅读(107) 评论(0) 推荐(0)
摘要: IV.III.[国家集训队]数颜色 / 维护队列 虽然这里这题的写法是CDQ但是我还是要大声喊出:树套树yyds! 首先,众所周知地,我们可以对于每个位置记录其颜色上一次出现的地方,记作 \(las_i\),则我们需要知道的就是 \([l,r]\) 中 \(las_i<l\) 的总数。 众所周知地, 阅读全文
posted @ 2021-04-06 10:43 Troverld 阅读(81) 评论(0) 推荐(0)
摘要: IV.II.[HNOI2010]城市建设 实际上这题不算狭义上的CDQ分治(先计算左边,再计算左边对右边的贡献,最后计算右边),更像是线段树分治的变种,但是既然大家都认为这就是CDQ那就算是罢…… 考虑分治计算。当我们考虑一个区间 \([l,r]\) 时,我们会将所有边分为两类:区间 \([l,r] 阅读全文
posted @ 2021-04-06 10:41 Troverld 阅读(203) 评论(1) 推荐(1)
摘要: IV.I.[SDOI2011]拦截导弹 我当初为什么要用CDQ分治而不是树套树开这题…… 明显三维偏序。然后一个点的可能性就是前缀路径数乘以后缀路径数除以总路径数。 CDQ分治有一大坨的细节需要处理! 代码: #include<bits/stdc++.h> using namespace std; 阅读全文
posted @ 2021-04-06 10:39 Troverld 阅读(52) 评论(0) 推荐(0)
摘要: III.IV.[HDU3842][WF2011]Machine Works 我们设 \(f_i\) 表示第 \(i\) 台机器被购买时,所剩最多钱数。则 \(f_i=\max\limits_{d_j<d_i}\Big\{f_j+(d_i-d_j-1)g_j+r_j-p_i\Big\}\) 其可被拆作 阅读全文
posted @ 2021-04-06 10:37 Troverld 阅读(76) 评论(0) 推荐(0)
摘要: III.III.CF932F Escape Through Leaf 明显DP式很容易写出;然后观察发现其就是子树中一堆函数 \(y=kx+b\) 中对于某个 \(x\) 的 \(y\) 的最小值,于是线段树合并李超树就OK了。 需要注意的是,李超树因为每个节点都存了一条直线(相当于标记永久化),因 阅读全文
posted @ 2021-04-06 10:35 Troverld 阅读(98) 评论(0) 推荐(0)
摘要: III.II.[SDOI2016]游戏 明显,一条从 \(x\) 到 \(y\) 的路径可以被拆作两条从LCA下来的路径,并且路径上每个点被写上的数是关于其深度的一次函数。 于是就树剖套李超树就行了。 但是有个问题,李超树不是只支持单点询问吗,怎么这里又支持区间了呢? 我们发现,对于一条线段,其与我 阅读全文
posted @ 2021-04-06 10:33 Troverld 阅读(71) 评论(0) 推荐(0)
摘要: III.李超线段树 李超线段树是一种可以维护动态凸包的线段树。更准确地说,其可以支持的常规操作有两种: 在平面直角坐标系中插入一条线段。 询问在坐标系中的一个点 \((x,+\infty)\) 向下看,能看到的点的坐标。换句话说,是一条自无穷高处引下的垂线与所有线段的交点中最高的那个点。 其具体实现 阅读全文
posted @ 2021-04-06 10:32 Troverld 阅读(149) 评论(0) 推荐(0)
摘要: II.I.CF1290E Cartesian Tree 并非一道很板的题,但是是可以被想出的。 考虑把笛卡尔树求出其中序遍历,则每个节点的子树是上面一段区间 \([l_i,r_i]\)。 考虑往中序遍历序列中某个位置 \(p\) 之后插入一个数 \(k\)。显然,依照定义,这个数必定大于原序列中所有 阅读全文
posted @ 2021-04-06 10:30 Troverld 阅读(86) 评论(0) 推荐(0)
摘要: II.吉司机线段树 吉司机线段树是一类支持区间所有数对某个数取 \(\min\),以及所有其它线段树操作的线段树。 我们以区间取 \(\min\)、区间求和为例。 其具体实现是,在线段树的每个节点上存储区间最大值、区间次大值、区间最大值出现次数、区间和。显然,所有东西都可以简单维护。 然后,考虑区间 阅读全文
posted @ 2021-04-06 10:28 Troverld 阅读(358) 评论(1) 推荐(0)
上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 63 下一页