随笔分类 - 数据结构-栈/单调栈
摘要:A. Cherry 妙啊,CF div2的A我居然用了单调栈+RMQ。(无语) 先讲讲我的做法。 我是想用单调栈求出对于每一个 \(i\),满足 \(i\in [l_i,r_i]\) 且 \(a_i=\min\limits_{j=l_i}^{r_i} a_j\) 的最大区间 \([l_i,r_i]\
阅读全文
摘要:CF938G Shortest Path Queries 出现了!融合怪! 做本题之前建议先做掉 最大XOR和路径 和 二分图 两题。 其实这题就是这两题融合一下 我们来讲解法。首先我们看到了这个 XOR 的最小值问题,可以借鉴最大XOR和路径这道题的思路。其次我们有删边,加边的操作,可以用线段树分
阅读全文
摘要:Luogu P5214 [SHOI2014]神奇化合物 我做完这个题才发现可以用缩点+暴力水过去。。。。建议加强数据吧。 我的第一思路是线段树分治。看到这种动态图,第一反应是线段树分治没什么问题吧。。。。 具体来说,我们把每条边出现的时间统计出来,挂到线段树上,然后遍历一遍即可。要标记一下每次询问的
阅读全文
摘要:CF123D String 这个题和 CF811D 很像,代码只有一点点不同。题解也几乎一模一样 首先看到子串的问题容易想到后缀数组,所以我们可以先对字符串求一遍后缀数组以及 height 数组。 我们其实可以想得到单调栈。我们可以考虑对于 height 数组维护一个单调递增的栈。一旦我们要弹出栈顶
阅读全文
摘要:CF802I Fake News (hard) 这个题和 CF123D 很像,代码只有一点点不同。 首先看到子串的问题容易想到后缀数组,所以我们可以先对字符串求一遍后缀数组以及 height 数组。 接下来怎么做?我们其实可以想得到单调栈。我们可以考虑对于 height 数组维护一个单调递增的栈。一
阅读全文
摘要:【HAOI2016】 找相同字符 子串之类的问题,容易想到后缀数组。最后的问题是,在 \(A,B\) 中各找一个子串,有多少种情况这两个子串相同。 我们分别对 \(A\),\(B\),\(A+B\) 三个串求其后缀数组和 \(height\) 数组。我们可以求出在各自串中相同的子串数量,然后用容斥原
阅读全文

浙公网安备 33010602011771号