-
C++の無向グラフのすべてのサイクルの長さの積
入力として無向グラフと無加重グラフが与えられます。タスクは、与えられた中で形成されたサイクルの積を見つけて、結果を表示することです。 例 入力 与えられた図では、8つのノードがあり、そのうち5つのノードが1、6、3、5、8を含むサイクルを形成しており、残りのノードはサイクルに含まれていません。したがって、サイクルの長さは5ノードを含むため5であり、したがって積は5です 与えられた図では、12個のノードがあり、そのうち11個(5 +6)個のノードが、1、6、3、5、8、9、4、10、11、22、12および残りのノードを含むサイクルを形成しています。ノード2はサイクルに含まれて
-
C++の最小要素と最大要素を除くサイズKのすべてのサブシーケンスの積
n個の整数とサイズを定義するための整数kを含む配列arr[n]が与えられます。タスクは、最小要素と最大要素を除く、サイズkのすべてのサブシーケンスの積を出力することです。 4つの要素{1、2、3、4}とkのセットが2であると仮定すると、そのサブセットは-{1、2}、{2、3}、{3、4}、{1、 4}、{1、3}、{2、4} したがって、最大要素4と最小要素1を除くと、残りの要素は-になります。 2、3、3、3、2、その積は- 2 * 3 * 3 * 3 * 2 =108 同様に、問題を解決する必要があります 例 Input: arr[] = {3, 4, 1, 7}, k =
-
C ++標準テンプレートライブラリ(STL)の優先キュー
優先度キューは、優先度に基づいて要素の挿入と削除をサポートする優先度の高い要素のコレクションを格納するための抽象データ型です。つまり、優先度の高い要素はいつでも削除できます。優先度付きキューは、スタック、キュー、リストなどの場所に関して要素を線形に格納しません。優先度付きキューADT(抽象データ型)は、優先度に基づいて要素を格納します。 優先キューは次の機能をサポートします − サイズ() −優先キュー内の要素数を返すため、優先キューのサイズを計算するために使用されます。 Empty() −優先キューが空の場合はtrueを返し、そうでない場合はfalseを返します 挿入(要素) −
-
C++のコインのN個のトスで少なくともK個のヘッドを取得する確率
確率は、利用可能なデータのセットから目的の出力を取得する可能性です。確率の範囲は0から1の間にあり、整数0は不可能の可能性を示し、1は確実性を示します。 確率とは何ですか? 数学の確率は、イベントと理由の不確実性を伝えるツールを提供します。言い換えれば、確率は、特定のイベントの発生の可能性を計算することであると言えます。これは、1から0までの数値として表すことができます。たとえば、偏りのないコインが投げられたときに頭を取得する確率、または3を取得する確率サイコロを振ったとき。 ここで、質問に戻ると、N回のコインで少なくともk個のヘッドを獲得する確率を見つける必要があります。 コインが
-
C ++の入力(a、b)から「a」で開始および終了するDFAを構築するプログラム
文字「a」と「b」のDFA文字列があり、文字「a」で開始および終了する必要がある場合、タスクは、文字列がDFAを介して「a」で開始および終了するかどうかを確認することです。 DFA(Deterministic Finite Automata)とは何ですか? 理論計算機科学の一分野である計算理論では、決定性有限オートマトンは、記号の文字列を受け入れるか拒否する有限状態マシンです。決定論的とは、実行する計算の一意性を指します。 DFAで文字列を検索する場合、文字列は入力(a、b)の「a」で開始および終了する必要があります。メモリの概念はなく、現在の文字しか保存できないため、DFAは提供さ
-
C++での2本の線の交点のプログラム
線ABに対応する点AとB、および線PQに対応する点PとQが与えられます。タスクは、これら2つの線の交点を見つけることです。 注 −点はX座標とY座標の2D平面で与えられます。 ここで、A(a1、a2)、B(b1、b2)およびC(c1、c2)、D(d1、d2)は、2つの異なる線を形成している座標であり、P(p1、p2)は交点です。 (交点の図解のためだけに) 交点を見つける方法 − 上の図を-としましょう 例 したがって、(a1、a2)、(b1、b2)、(c1、c2)、(d1、d2)を使用して、:A1 =b2 --a2B1 =a1 --b1C1 =(A1 * a1)+( B1 *
-
C++の配列内のすべてのK番目の素数の積
n個の素数とkを含む配列arr[n]が与えられます。タスクは、配列内のk番目の素数ごとの積を見つけることです。 同様に、配列arr [] ={3、5、7、11}およびk =2があるため、すべてのk、つまり5および11の後の素数は、5x11 =55となる積を見つけて、結果を出力する必要があります。出力として。 素数とは何ですか? 素数は自然数であり、1またはその数自体を除いて他の数で割ることはできません。素数のいくつかは2、3、5、7、11、13などです。 例 Input: arr[] = {3, 5, 7, 11, 13} k= 2 Output: 55 Explanation: ev
-
C++で0/1ナップザックでアイテムを印刷する
n個のアイテムの重みと値を指定します。タスクは、容量Wのナップザックに次の重みと値の0/1ナップザックに従ってアイテムを印刷し、ナップザックの最大合計値を取得することです。 0/1ナップザックとは何ですか? ナップザックは、固定サイズの鞄や、ある程度の重さを扱える鞄のようなものです。ナップザックに含まれる各アイテムには、ある程度の価値(利益)と重みがあります。ナップザックが保持できる総重量に応じて最大の利益が得られる重量を追加する必要があります。 つまり、ナップザックが保持できるバッグの重量、値(利益)、および総重量があるので、0/1ナップザックでは、含まれるアイテムに1と0を指定し
-
C ++のK最近使用された(MRU)アプリのプログラム
数kと配列arr[n]が与えられ、システムで開かれたアプリのIDを格納しているn個の整数要素が含まれています。タスクは、最近使用したアプリのk個を表示することです。たとえば、Alt + Tabキーを押すと、最近のすべてのアプリと最新のアプリが最新のものより前に表示されます。すべてのIDの位置は、システム内のさまざまなアプリを表します- それらは次のとおりです- arr [0]のIdは、現在使用中のアプリのIDです。 arr [1]のIdは、最近使用されたアプリのIDです。 arr [n-1]のIdは、最近使用されていないアプリのIDです。 注 − Alt + Tabキーを押すと、
-
C ++のO(log n)の複素数の累乗のプログラム
x+yiの形式の複素数と整数nが与えられます。タスクは、複素数にnを乗じた場合に、複素数の値を計算して出力することです。 複素数とは何ですか? 複素数は、a + biの形式で記述できる数です。ここで、aとbは実数であり、iは方程式の解であるか、虚数と言えます。つまり、簡単に言えば、複素数は実数と虚数の組み合わせであると言えます。 複素数の累乗 複素数の累乗を上げるには、次の式を使用します- (a + bi)(c + di)=(ac-bd)+(ad + bc)i 複素数のように 2 + 3iとそのパワーを5上げると、-が得られます。 (2 + 3 i) 5 =(2 +
-
C ++のペアの優先キュー(最初に並べ替え)
優先度キューは、優先度に基づいて要素の挿入と削除をサポートする優先度の高い要素のコレクションを格納するための抽象データ型です。つまり、優先度の高い要素はいつでも削除できます。優先度付きキューは、スタック、キュー、リストなどの場所に関して要素を線形に格納しません。優先度付きキューADT(抽象データ型)は、優先度に基づいて要素を格納します。 優先キューは次の機能をサポートします- サイズ() −優先キュー内の要素数を返すため、優先キューのサイズを計算するために使用されます。 Empty() −優先キューが空の場合はtrueを返し、そうでない場合はfalseを返します Insert(ele
-
C++での最大の互いに素な間隔
説明 N個の区間のセットが与えられた場合、タスクは相互に素な区間の最大セットを見つけることです。 2つの区間[i、j]と[k、l]は、共通点がない場合、互いに素であると言われます 間隔が{{10、20} {23、35}、{15、21}、{37、41}}の場合、重複しない最大の互いに素なペアは- {10, 20} {23, 35} {37, 41} {10、20} と重複するため、{15、21}を含めることはできません。 アルゴリズム 1. Sort the intervals, with respect to their end points. 2. Traverse the all i
-
C ++の極端な位置でビットを交換することにより、指定された符号なし数値を最大化します。
問題の説明 数値が与えられた場合、その極端な位置、つまり最初と最後の位置、2番目と2番目の最後の位置などでビットを交換することによって最大化します。 入力番号が8の場合、その2進表現は- 00000000 00000000 00000000 00001000 極端な位置でビットを交換した後、数値は-になります 00010000 00000000 00000000 00000000 and its decimal equivalent is: 268435456 アルゴリズム 1. Create a copy of the original number 2. If less signif
-
C++で指定された数まで配列要素を最大化します
問題の説明 整数、数値、および最大値の配列が与えられた場合、タスクは配列要素から取得できる最大値を計算することです。最初からトラバースする配列のすべての値は、前のインデックスから取得した結果に加算または減算して、任意の時点で結果が0以上、指定された最大値以下になるようにすることができます。インデックス0の場合、指定された数に等しい前の結果を取得します。可能な回答がない場合は-1を印刷します。 arr [] ={3、10、6、4、5}、数値=1、最大値=15の場合、加算と減算の順序に従うと、出力は9になります- 1 + 3 + 10 – 6 – 4 + 5 アルゴリズ
-
C++でのK否定後の配列合計を最大化する
問題の説明 サイズnと数kの配列が与えられます。配列をk回変更する必要があります。 配列の変更とは、各操作で、配列要素arr [i]を否定することで置き換えることができることを意味します。つまり、arr [i] =-arr[i]です。タスクは、k回の操作の後、配列の合計が最大になるようにこの操作を実行することです。 input arr [] ={7、-3、5、4、-1}の場合、最大合計は20になります。 最初に-3を否定します。これで、配列は{7、3、5、4、-1}になります 負の-1。これで、配列は{7、3、5、4、1}になります アルゴリズム 1. Replace the min
-
C++で別の配列を使用して要素を最大化する
問題の説明 サイズnの2つの配列がある場合、2番目の配列の要素を使用して最初の配列を最大化し、形成された新しい配列に、2番目の配列の優先順位を与える両方の配列のn個の最大で一意の要素が含まれるようにします。つまり、2番目の配列のすべての要素が最初の配列の前に表示されます。配列。要素の出現順序は、出力でも入力と同じに保つ必要があります arr1 [] ={12、15、10}およびarr2 [] ={16、17、5}の場合、順序を維持することにより、{16、17、15}が両方の配列からの最大要素になります。 アルゴリズム 1. Create temporary array of size 2
-
C ++でサブ配列を反転して、0の数を最大化します
問題の説明 バイナリ配列が与えられた場合、サブ配列の1回の反転が許可されている配列内のゼロの最大数を見つけます。フリップ操作は、すべての0を1に、1を0に切り替えます arr1 ={1、1、0、0、0、0、0}の場合 最初の21を0に反転すると、次のようにサイズ7のサブ配列を取得できます- {0, 0, 0, 0, 0, 0, 0} アルゴリズム 1. Consider all subarrays and find a subarray with maximum value of (count of 1s) – (count of 0s) 2. Considers this
-
C++で配列のビットごとのORを最大化する
問題の説明 N個の整数の配列が与えられます。配列のすべての要素のビットごとのORは、1つのタスクを実行することによって最大化する必要があります。タスクは、配列の任意の要素に、指定された整数xを最大k回乗算することです。 入力配列が{4、3、6、1}、k =2、x =3の場合、取得できる最大値は55です。 アルゴリズム 1. multiply an array element with (x^k) and do bitwise OR it with the bitwise OR of all previous elements 2. Multiply an array element wit
-
C ++で最大1つの要素を削除した後、サブアレイの最大合計を最大化します
問題の説明 N個の整数の配列arr[]が与えられます。タスクは、最初に最大のサブ配列の合計を見つけてから、サブ配列から最大で1つの要素を削除することです。削除後の最大合計が最大になるように、最大で1つの要素を削除します。 指定された入力配列が{1、2、3、-2、3}の場合、サブ配列の最大合計は{1、3、-2、3}です。次に、-2を削除できます。残りのアレイを削除すると、次のようになります- {1, 2, 3, 3} with sum 9 which is maximum. アルゴリズム 1. Use Kadane’s algorithm to find the maximu
-
C++で配列の中央値を最大化する
問題の説明 N個の要素の配列arr[]とK