您能确定多项式时间内两个置换的总和吗?
有2个 问题最近问上cs.se它们或者涉及或有一个特殊的等同于以下问题情况: 假设有一个序列a1,a2,…ana1,a2,…ana_1, a_2, \ldots a_n的nnn号码,使得∑ni=1ai=n(n+1).∑i=1nai=n(n+1).\sum_{i=1}^n a_i = n(n+1). 分解成两个置换的总和,ππ\pi和σσ\sigma,的1…n1…n1 \dots n,使得ai=πi+σiai=πi+σia_i = \pi_i + \sigma_i\,。 有一些必要条件:如果aiaia_i 进行排序,这样a1≤a2≤…≤ana1≤a2≤…≤ana_1 \leq a_2 \leq \ldots \leq a_n\,,那么我们必须 ∑i=1kai≥k(k+1).∑i=1kai≥k(k+1).\sum_{i=1}^k a_i \geq k(k+1). 但是,这些条件还不够。从我问的这个math.se问题的答案来看,序列5,5,5,9,9,9不能分解为两个排列的总和(一个人可以通过使用1或5都只能与4配对)。 所以我的问题是:这个问题的复杂性是什么?