【题解】神牛的养成计划 Trie 树+线段树合并+二进制压位 BZOJ – 4212

1. 题目 传送门= ̄ω ̄= 2. 题解 似乎有很多很妙的正解我就不讲了 可以想到把初始的串正着建一个 Trie(即匹配前缀),反着再建一个 Trie(后缀匹配)然后维护每个 Trie 的节点的子树内的初始串出现情况,这个用线段树合并弄就行了。 询问就拿 s1 去前缀 Trie 里查询相应节点 a 阅读更多…

【题解】楼房重建 动态分治 – boshi

楼房重建 Abstract: 给你一堆数,求其从左往右单调上升的单调栈大小。会有修改元素大小的操作。 Ideas: 可以考虑分治。假设我们求出了一段区间的左半段的单调栈,以及右半段的单调栈,我们现在可以快速合并得到这段区间的单调栈。首先,左半段的全部元素都在新的单调栈里,右半段的元素如果比左半段的最 阅读更多…