将B视为一组分组符号(,),[,],{和}.如果B的长度为0或者B具有以下形式之一,则称为平衡序列:{X} Y或[X] Y或{X} Y其中X和Y本身是平衡的.Balanced的示例:() - {[]()} [] - ...
现在的问题是找到一种有效的算法来找到给定输入的最大长度平衡子序列(不一定是连续的),该输入是这些分组符号的串.
例如,如果输入是(){([)] {(])}} [],则其中一个最大长度子序列是(){[] {()}} []
我几乎可以肯定解决方案是DP,但无论如何我解决它我发现我的算法不起作用的例子.我确信只有一种方法,即DP和Divide and Conquer的组合.但它并不高效,因为无论如何D&C部分将一遍又一遍地解决一些重叠的问题.
algorithm optimization dynamic-programming divide-and-conquer
我是Python的新手,我正在尝试使用LDA软件包(https://pypi.python.org/pypi/lda)。我列出了每个人都涉及的标题和主题。但是,我不知道如何首先使用该软件包。我已经阅读了软件包的文档,但是它含糊不清。没有有关输入结构和所有内容的信息。有人使用过吗?谢谢!