任意の(整数)金額のそれぞれのn個のチェックが、同じ金額の2つの部分にチェックを分割できるかどうかを判断すると、多項式アルゴリズム
私はこの問題を解決する方法を忘れています。これを多項式時間で解くアルゴリズムはありますか?これはNP完全ですか?
任意の(整数)金額のそれぞれのn個のチェックが、同じ金額の2つの部分にチェックを分割できるかどうかを判断すると、多項式アルゴリズム
私はこの問題を解決する方法を忘れています。これを多項式時間で解くアルゴリズムはありますか?これはNP完全ですか?
はい、NP完全な問題です。それはthe subset sum problemのバリエーションです。
実際には、動的プログラミングを使ってO(n * sum/2)でこれを解くことができます。まずすべてのチェックをvaraibel sumに集計し、チェック値にdpを実行しますその合計がs/2に等しいかどうかを最後にチェックする。
この質問は、[プログラミングパズル](http://codegolf.stackexchange.com/)または[puzzling](http://puzzling.stackexchange.com/)に掲載されている可能性があります – yaitloutou
@yaitloutou質問はパズルやプログラミングのパズルよりもここで話題になっています。たぶんそれはcs.stackexchange.comに投稿する必要があります – user31264
@ user31264説明をありがとうございました – yaitloutou