例如,我们有array[]={1,3,2,7,4,6,8,9}
。
此array[]={1,3,4,6,8,9}
的最长增加子序列及其长度= 6.
此array[]={3,2}
的最长减少子序列及其长度= 2.
然后是array[]={1,3,4,6,8,9}
的Bitonic子序列?如果是,那么它的长度= 6.Bonic的子序列的长度= lis的长度+ lds -1的长度,
他们不平等。
如果没有,你怎么能证明比特子序列的长度= lis的长度+ lds-1的长度
如果我错了,请纠正我。 谢谢。
答案 0 :(得分:1)
公式是正确的,仅给出6 ...考虑LIS [](作为LIS数组)和LDS [](作为LDS数组)..现在当你从左到右迭代时,你到达的位置LIS [index] = 6即LIS直到数组[7]为6 ..现在LDS [index = 7]为1(通常一个元素是系列的最大长度)......现在LIS [7] + LDS [7] -1 =(6 + 1-1)
现在你想要Bitonic序列的证明...... LIS [i],LDS [i]代表最长的增加/减少序列直到我! 现在,最终你想要最大化它,这就是你搜索样本空间的原因!所以答案最大为(LIS [i] + LDS [i] -1)0< = i< = n-1 ... 那个-1是由于元素在第i个位置重复包含!