問題タブ [packing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
5220 参照

algorithm - Bin Packing - ブルート フォース再帰ソリューション - 高速化する方法

さまざまなサイズのマテリアルのリストを含む配列があります: {4,3,4,1,7,8}. ただし、ビンはサイズ 10 までの材料を収容できます。配列内のすべての要素をパックするために必要なビンの最小数を調べる必要があります。

上記の配列の場合、3 つのビンにパックして、次のように分割でき{4,4,1}ます。3 本のストック パイプに収まる他の配置も考えられますが、それより少ない数では実行できません。{3,7}{8}

この問題をよりよく理解するために、再帰を通じてこの問題を解決しようとしています。

私はこのDP 処方を使用しています (pdf ファイルの 20 ページ)。

n = ∑nj 項目の入力 (n1;:::;nk) を考える
単一のビンにパックできる k-タプル (入力のサブセット) のセットを決定する
つまり、すべてのタプル (q1;:::; qk) の OPT(q1;:::;qk) = 1
このセットを Q で表す 各 k タプル q について、OPT(q) = 1
となる 再帰を使用して残りの値を計算する : OPT(i1;:: :;ik) = 1 + minOPT(i1 - q1;:::;ik - qk)

私はコードを作成しましたが、小さなデータセットでは問題なく動作します。しかし、配列のサイズを 6 要素以上に増やすと、非常に遅くなります。8 要素を含む配列を解くのに約 25 秒かかります。アルゴリズムに何か問題があるか教えていただけますか? 別の解決策は必要ありません---なぜこれが遅いのか、どうすれば改善できるのかを知りたいだけです

これが私がC++で書いたコードです:

getBins 関数は次のとおりです。

0 投票する
0 に答える
3518 参照

binary-tree - 写真コラージュアルゴリズム

http://lightbox.com/explore#spotlightで行われているのと非常によく似たコラージュのように写真を動的に配置するスクリプトを作成しようとしています。

もちろん、さまざまな写真のセットでそれぞれのケースを処理するコードを書くことはできますが、任意の数の写真を処理できるアルゴリズムが必要です。ここで説明されているアルゴリズムhttp://www.hpl.hp.com/techreports/2008/HPL-2008-199.pdfの第 4 章は、私が必要とするものと非常によく似ているようです。私の場合、垂直方向と水平方向の比率は常に同じです。境界ボックスを定義し、各ノードを分割できるレベル数を定義します。境界ボックスは、横長の写真と同じ比率になります。アルゴリズムがすべての画像に収まらない場合は、1 レベル戻ってそのままにしておくか、使用可能な写真のプールから別の写真を選びます。

私の質問は、これと非常によく似ています Algorithm Arrange images on screenですが、先に進む方法がわかりません。さらなるガイダンスや疑似コードは非常に役に立ちます。

0 投票する
2 に答える
821 参照

javascript - シンプルな解決策を探して、多くの制約を持つJavascriptパッキング

四角形のサイズを自分で割り当てることができるため、これは正確にパッキングされているわけではありません。パックされた結果が必要なだけです。私は同じ比率と異なるサイズの長方形を持っています
FULL、
HALF(面積= 1/4 * FULL)、
QUARTER(面積= 1/4 * HALF)。
すべてが水平方向にのみ配置されます。コンテナの幅は FULL の 3 倍で、高さは長方形に合わせて調整されます。

配列(フル、ハーフ、クォーター)からランダムなサイズが与えられる150個の長方形があります。これらの長方形をコンテナーに配置して、隙間がないようにします。

コンテナーと四角形は HTML DIV です。それらをパックするために JavaScript を使用しています。

ここにフィドルがありますhttp://jsfiddle.net/MywQ2/1/

上記のコードでは、現在のボックスに応じて次のボックスの選択を制限しようとしました。
よくわからないかもしれませんが、もう一度説明します。私は 150 個のボックスを持っています。コンテナに 150 個のボックスを入れたいだけです。サイズはフル、ハーフ、クォーターのいずれかでランダムにする必要があります。また、ランダムに選択されたサイズを拒否し、ギャップが生じることが判明した場合は別のサイズを取得することもできます。

0 投票する
1 に答える
157 参照

python - pythontkinterパッキング

1行のコードAが機能するので、プレーンウィジェットがある理由を誰かに説明してもらえますか?

ただし、名前を付けたり、コマンドを添付したりすると、コードAは機能しなくなり、エラーメッセージBが表示されます。

別のラインを使用して梱包する必要がありますか?

コードA

エラーメッセージB

0 投票する
1 に答える
4348 参照

reverse-engineering - UPX でパックされているがヘッダーも変更されている dll ファイルを解凍する方法は?

UPX で圧縮されたファイルがあります。ヘッダーを変更しても、UPX パックとして表示される方法はありますか? そして、どうすれば解凍できますか?私は多くのチュートリアルを試しましたが、私にはうまくいかない同じ方法をすべて説明しているのでうんざりしています。同じ問題が次のように言及されています: http://www.reteam.org/board/showthread.php?t=2670 私はよく理解されたリバースエンジニアではありません.. :(役に立った。

0 投票する
1 に答える
1753 参照

algorithm - コンテナを満たす長方形の最大サイズを見つける

特定の幅と高さのコンテナがあります。コンテナーに収まる必要があるブロックがたくさんありますが、これらのブロックが収まる最大サイズを計算する必要があります。

例えば:

ここに画像の説明を入力

に:

ここに画像の説明を入力

この質問に似ていると思いますが、彼のコードはjqueryであり、テキストに適用されます。これを行う方法の疑似コードまたは何らかの形式のアルゴリズムが欲しいだけです。

0 投票する
4 に答える
15677 参照

algorithm - 円にいくつの正方形を詰めることができますか?

サイズa × aの正方形を半径Rの円にいくつ詰めることができますか?

解決策は必要ありません。ある種の最初のアイデアが必要です。

0 投票する
1 に答える
985 参照

c# - BinaryReaderを使用してC#でシリアル化されたC++構造体を読み取る

structバイナリを使用してC++を直接書き込むことによってシリアル化されたファイルがいくつかありますfstream。ここで、対応するC#クラスの読み取りメソッドを生成すると、おそらく構造体のパッキングが原因で、これらが実際には1対1にマップされていないことがわかります。

だから私の質問は-状況を処理するための最良の方法は何ですか?私はC++とC#の両方のソースコードを持っているので、どちらの部分も変更できます。パッキングせずにC++をシリアル化する必要がありますか(これはで行われると思い#pragma pack(1)ます)、代わりにギャップを考慮してC#コードを調整する必要がありますか?

それとも、逆シリアル化の問題は完全に異なり、パッキングとは関係ありませんか?

更新1C++enumの長さが4バイトで、bool値の長さが2バイトであることを発見しました(誰が知っていましたか?)が、追加した後でも#pragma pack(1)、最初のレコードしか正しく読み取ることができません。また、バイト数をチェックしsizeof(MyStructure)、値が一致していることを確認しました。これは、レコード間にパディングがあることを意味している必要があります。

アップデート2ダーン、コードにバグが見つかりました。コピー&ペーストエラー。PVSStudioか何かが必要です。今はすべて良いです。(そして、ええ、ブール値は1バイトの大きさです。)

0 投票する
3 に答える
1512 参照

python - Python を使用して、Ruby の .pack("N") のようにネットワーク バイト オーダーで 4 文字を unsigned long として扱う大きな整数をパックするにはどうすればよいですか?

これは、Python で実装したい Ruby の一部です。

おわかりのように、これは URL を次のように変えるのに役立ちます。

thise のような小さなコードに:

プロセスで生成される大きな整数は次のとおりです。

この Python コードを使用して、これをバイナリ形式にパックすることができました。

私が得る短いコードはこれです:

ご覧のとおり、Ruby で取得したものよりも大きくなっています。これは、パッキングが別の形式を使用しているためです。

あなたの助けをいただければ幸いです。

0 投票する
0 に答える
92 参照

mysql - MySQL DB から書式設定された梱包票を生成するために使用するソフトウェアは?

MySQL データベースから書式設定された (特にスタイルの) 納品書を生成する必要があります。私たちは、インターネット企業と統合しているフルフィルメント ハウスです。