2つの数のリストと合計のリスト(特定の順序でなし)のリストに対応ペアのセット検索:考えると合計
a = [1,2,3]
b = [4,5,6]
c = [6,7,8]
がどのように私はd[k] = (a[i], b[j])
、このようなペアd
のすべてのセットを見つけることができますがそのc[k] = a[i] + b[j]
ペアは置換なしでaとbから使用されますか? c = [7,7,7]
については
d = [(1,5), (3,4), (2,6)]
d = [(2,4), (1,6), (3,5)]
(すべてのリストは、重複を持つことができます):
d = [(1,6), (2,5), (3,4)]
(1答すべての順列は、本質的に等価であるため)
が、私は長さのリストでこれを行うにはしたいと思います〜 500となっていますので、素朴なマッチング/バックトラック検索が問題になりません。ここで
あなたは、セット内の各シーケンスは、シーケンスcを一致合計を持って対配列のセットをしたいですか?また、最初の例では、[(1,5)、(1,6)、(2,6)] - などが含まれますか? –
交換しません。私が解決しようとしている問題は、各リストには数多くの学生が含まれているということです。私は各リストと両方の合計にアクセスできますが、合計得点、可能なサブスコアが何であるかを知りたいと思います。問題を解決しやすくする(またはユニークなソリューションの可能性を高める)場合は、これらのリストのうちのN個にアクセスし、そのサブセットの合計のリストをデータベースに問い合わせることができます。 – georgeyiu
この問題はWikipediaで[Numerical 3-dimensional matching](http://en.wikipedia.org/wiki/Numerical_3-dimensional_matching)で説明されています。それはNP完全です。 –