摘要: Martian Strings 题解: 对于询问串, 我们可以从前往后先跑一遍exkmp。 然后在倒过来,从后往前跑一遍exkmp。 我们就可以记录下 对于每个正向匹配来说,最左边的点在哪里。 对于每个反向匹配来说,最右边的点在哪里。 然后判断可不可以构成这个串就好了。 代码: #include<b 阅读全文
posted @ 2019-05-17 17:28 Schenker 阅读(293) 评论(0) 推荐(0) 编辑
摘要: Sum of Medians 题解: 对于这个题目,先想到是建立5棵Splay,然后每次更新把后面一段区间的树切下来,然后再转圈圈把切下来的树和别的树合并。 但是感觉写起来太麻烦就放弃了。 建立5棵线段树。 然后 seg[rt][i]代表的是只考虑当前所管辖的区间中的情况下, 下标对5取余之后为 i 阅读全文
posted @ 2019-05-17 16:39 Schenker 阅读(139) 评论(0) 推荐(0) 编辑
摘要: Coloring Brackets 题解: dp[ l ] [ r ] [ lc ] [ rc ] 代表的是第在区间[ l , r] 的情况下 左端点颜色是lc, 右端点颜色是rc的方案数是多少。 然后记忆化DP。 将一个序列拆成一个个匹配的序列。 为了防止一开始序列不匹配,所以从2个虚拟的地方开始 阅读全文
posted @ 2019-05-17 14:29 Schenker 阅读(122) 评论(0) 推荐(0) 编辑