テキストの位置揃え (左右にフラッシュ) を実行する方法を実装しようとしています。各出力行の最大幅は M 文字です。単語の分割は許可されていません。
たとえば、次のウィキペディア ページの「両端揃え (左と右を揃える)」を参照してください: http://en.wikipedia.org/wiki/Justification_(typesetting)。
私は、最適な左寄せ、ぎざぎざの右寄せのための動的プログラミング ソリューションがあることを認識しています。つまり、余分なスペースのコストが最適になるように、行末に余分なスペースを均等に分配します (これは「ワード ラップ」とも呼ばれます)。 」の問題または「きれいに印刷する」問題)。ただし、全文正当化の問題に対する動的プログラミングまたは貪欲なアプローチに到達することはできません。
グーグルは、マルコフ連鎖プログラミングに基づくテキストの正当化に私を導きました: http://www.rose-hulman.edu/Users/faculty/young/OldFiles/CS-Classes/csse220/200820/web/Programs/Markov/justification.html。しかし、これは私には複雑に思えます。これが全文の正当化の問題に対する最良の (そして最も単純な) 解決策である場合、誰かが同じことを簡単な言葉で説明できれば素晴らしいことです。