問題タブ [partition-problem]

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 投票する
2 に答える
2832 参照

dynamic-programming - 動的計画法を使用して、n 個の数値が与えられたときに 3 分割があるかどうかを判断します。

私は 3 分割問題の解決策を見つけました。つまり、n 個の数が与えられた場合、すべてが等しくなる (つまり、各サブセットの合計が n数/3)。

同様の質問が3-PARTITION problem にあります。ただし、以下のコードの説明を探しています。

簡単に言えば、何が起こっているのかわかりません。T が何であるか、i または j が何であるか、k が何であるか、あるいはなぜ k と j が N から始まり、デクリメントされているのか、"T[j + C[i]][k] = true; T[j][k + C[i]] = true」という意味ですか、またはなぜ T[N/3] を返すのでしょうか?

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

c - diskperf でパーティションの詳細を取得する

diskperf フィルター ドライバーで、すべてのパーティションのパーティション情報を取得するにはどうすればよいですか。

IOCTL_DISK_GET_DRIVE_LAYOUT_EXioctl を使用してパーティション情報を取得しています。

1 つのディスクからパーティションの詳細を取得できます。ただし、複数のディスクがある場合、それらのディスクからパーティションの詳細を取得するにはどうすればよいですか。試してみましたが、2 番目のディスクの返品ステータスが表示さ0x80000010れますSTATUS_DEVICE_OFF_LINE。この問題を解決するにはどうすればよいですか?

もう一方のディスクのパーティションはプライマリですが、起動しません。0x80000010そのため、起動時にwindbgのようにリターンステータスを取得しているのかもしれません。では、システムがロードを完了したこのパーティションの詳細を取得するにはどうすればよいでしょうか。

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

dynamic-programming - PartitionProblem バリエーション - サブセットの固定サイズ

NP完全なパーティション問題のバリエーションである問題があります。これは最適化の問題であり、決定の問題ではありません。

問題: 和の差が最小になるように数のリストを 2 つの部分集合に分割し、2 つの部分集合を見つけます。偶数の場合n、サイズは でn/2、奇数の場合はfloor[n/2]ceil[n/2]です。

疑似多項式時間 DP アルゴリズムが正確な解に最適であると仮定すると、これを解決するためにどのように変更できますか? そして、これを解決するための最良の近似アルゴリズムは何でしょうか?

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

algorithm - 整数を入力として与えられたすべての一意の整数パーティションを出力します

私はプログラミング演習を解いていて、満足に解決策を見つけることができない問題に出くわしました。問題は次のようになります。

例: Input=4 の場合、出力は Output= である必要があります。

この問題を解決するにはどのように考えればよいでしょうか。再帰の使用について疑問に思っていました。誰かがこの質問のアルゴリズムを教えてくれますか? または解決へのヒント。そのような種類の問題についての説明は大歓迎です。(プログラミング初心者です) よろしくお願いします!!

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

sql - SQL: order by/partition by クエリで有効な開始日/終了日を戻すことができない

複数のサプライヤーの変更がある ID の有効開始日と有効終了日を返す結果セットを戻したいと考えています。これを行うために、ID、サプライヤーの ID、およびトランザクションが発生した日付を記録するトランザクション テーブルを見ています。IDがサプライヤーを切り替えた場合、古い関連付けを廃止し、新しい関連付けを記録したいと考えています。私の意図は、最新の切り替え日を開始有効日として、null を有効終了日として新しい行を挿入することです。イベントを完了するために、最新の切り替え日が入力された終了有効日で最後の前の行を更新したいと考えています。トランザクションがあるが、ID がサプライヤーを切り替えていない場合、行を無視したい。

私が持っているものは単一の ID で機能しますが、2 番目の ID を追加すると、順序/パーティションが機能しません。

テスト行を生成するスクリプトは次のとおりです。単一の ID で機能する SQL が示されています。

================================================== ================

編集済み

望ましい結果は次のとおりです。

ここに画像の説明を入力

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

algorithm - リンクリストを合計が等しい2つのサブリストに分割する

リンクリストを合計が等しい2つのサブリストに分割しようとしています。これらのサブリストは、連続した要素で構成される必要はありません。

私はリンクされたリストを持っています

どちらも要素の合計は 11 と同じです。

誰かがこの問題を解決するための疑似コードを提供できますか?

これは私がこれまで考えてきたことです:

  1. 連結リストの要素を合計し、2 で割ります。

  2. ここで、linkedlist1 の合計が linkedlist/2 の合計より小さくなるまで、要素を linkedlist1 にプッシュし続けます。

  3. 等しくなく、linkedlist sum/2 より小さい場合は、次の要素に移動し、現在の要素を linkedlist2 にプッシュできます。

ただし、これは要素が特定の順序である場合にのみ機能します。

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

algorithm - 整数の除算

以下で説明するアルゴリズムの問​​題の解決策に問題があります。

整数のセット (配列など) があります。私たちの仕事は、合計が互いに等しいグループにそれらを分割することです (要素の数が同じである必要はありません)。原始集合が分割できない場合、「分割できない」と答えなければなりません。

例: セットAが与えられ[-7 3 3 1 2 5 14]ます。答えは[-7 14], [3 3 1], [2 5]です。

確かにそれが不可能な場合を言うのは簡単なようです。主集合の合計が 3 で割り切れない場合: sum(A) % 3 != 0.

その問題を解決する方法はありますか?