-1

背景は、描画された長さを有効なサブパーツに分割する必要があり、描画中に次の可能な長さにスナップする必要があることです。

たとえば、有効な部分の長さは [10 分の 1 で 400、700、1200 - 1500] であることを知っています。

これにより、次の 3 つのルールが生成されます。

  • ルール 1: 値は 400 にすることができます
  • ルール 2: 値は 700 にすることができます
  • ルール 3: 値は 1200、1210、1220、... 1490、1500 にすることができます

例 1

私は 1500 の長さを描画します。これを 2 つの方法で分割できます。

  • 方法 1: 2x 400 + 1x 700
  • 方法 2: 1x 1500

例 2

長さ 1150 を描画します。これを有効なサブパーツに分割できません

=> 可能な解決策はありません...最も近い可能な長さ: 1100 または 1200、小さい方を好むとしましょう

1100 は一方向にのみ分割できます

  • 1x 700 + 1x 400

だからいつも見つけたい

  • 1) 次善の長さと
  • 2) 可能なすべての組み合わせ

この長さを作成します。

それを解決するために、その問題にどのようにアプローチしますか?最後に、サブパーツを組み合わせて全長を得る方法を見つけたいと思います。

ゴール:

私の最終的な目標は、次善の長さと、この長さに組み合わせることができる最も少ない (最も長い) サブパーツとの組み合わせを見つけることです...

4

2 に答える 2

0

私が理解したところでは、この問題は Change- Making problem と非常に密接に関連しています。あなたの「有効な部分」はコインであり、あなたの長さは与えられる合計の変更です。この問題を解決する方法はいくつかありますが、動的計画法やグリーディ法などがあります (問題の特異性によっては、どちらかが優れている場合もあります)。可能なコインを考慮して、可能な限り少ない量のコイン」。これは、多くのオンライン ドキュメントで説明されています。

于 2013-07-16T13:39:15.513 に答える