强括号序列

时间:2016-09-23 06:34:52

标签: tree brackets parentheses range-query lowest-common-ancestor

我遇到的问题显示为here。 有人可以建议一个解决这个问题的方法吗?我查阅了社论,它说我们应该为每个范围创建一个树并将其视为一个节点。我无法理解这个概念和树转换过程。提前感谢您的帮助! 问题的细节:

如果序列的形式如下,则称为正确的括号序列:

  • 空序列被认为是正确的括号序列。

  • (A)被认为是正确的括号序列。

  • 如果X和Y都是正确的括号序列,则XY被认为是正确的括号序列。

序列仅在形式(A)上称为强括号序列,其中A是正确的括号序列。

你必须计算一个奇怪的总和:每两个A子阵列取[i1,j1]和[i2,j2]。子阵列不能相交(即i1≤i2和j1≤i2)并且必须是强括号序列。然后,我们将总和添加到子数组的最小长度,例如它也是一个强括号序列,它包含[i1,j1]和[i2,j2](即如果最小长度的子序列是[i3, j3],那么[i3,j3]是一个强括号序列,并且i3≤i1≤j1≤j3且i3≤i2≤j2≤j3)。

P.S。我无法理解范围内树转换的概念以及LCA如何在这种情况下提供帮助。谢谢。

0 个答案:

没有答案