C++ を使用して、K 進木で重み W を持つパスの数を求めます。
この記事では、C を使用して、K 進木内の重み W を持つパスの数を数えます。 K 進木が与えられました。これは、各ノードが K 個の子を持ち、各エッジが重みを持ち、ノードからそのすべての子に向かって重みが 1 から K に減少する木です。
ルート ノードから始まり、重み W を持つパスと重み M を持つ少なくとも 1 つのエッジの累積数をカウントする必要があります。ここに例を示します:
Input : W = 4, K = 3, M = 2 Output : 6
与えられた問題では、時間と空間の複雑さを軽減するために dp を使用します。メモ化を使用すると、プログラムを高速化し、より大きな制約に適応させることができます。
メソッド
このメソッドでは、ツリーを走査し、少なくとも M の重みと W に等しい重みの有無にかかわらずエッジを追跡し、その後、答えをインクリメントします。
Input
#include <bits/stdc++.h> using namespace std; int solve(int DP[][2], int W, int K, int M, int used){ if (W < 0) // if W becomes less than 0 then return 0 return 0; if (W == 0) { if (used) // if used is not zero then return 1 return 1; //as at least one edge of weight M is included return 0; } if (DP[W][used] != -1) // if DP[W][used] is not -1 so that means it has been visited. return DP[W][used]; int answer = 0; for (int i = 1; i <= K; i++) { if (i >= M) answer += solve(DP, W - i, K, M, used | 1); // if the condition is true //then we will change used to 1. else answer += solve(DP, W - i, K, M, used); } return answer; } int main(){ int W = 3; // weight. int K = 3; // the number of children a node has. int M = 2; // we need to include an edge with weight at least 2. int DP[W + 1][2]; // the DP array which will memset(DP, -1, sizeof(DP)); // initializing the array with -1 value cout << solve(DP, W, K, M, 0) << "\n"; return 0; }
Output
3
上記コードの説明
このメソッドでは、重み M のエッジが少なくとも 1 回含まれるか含まれません。次に、パスが W に等しい場合のパスの合計の重みを計算しました。
答えを 1 つ増やし、パスを訪問済みとしてマークし、可能なすべてのパスを通過し、重みが M 以上のエッジを少なくとも 1 つ含みます。
結論
この記事では、動的計画法を使用して、時間計算量 O で、k 分木内の重み W のパスの数を見つける問題を解決します。 (W*K)。
私たちは、C プログラムと、この問題を解決するための完全な方法 (一般的で効率的) も学びました。
以上がC++ を使用して、K 進木で重み W を持つパスの数を求めます。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Weibo ウェイトとは、Weibo アカウントに対する Weibo の公式評価を指し、主に検索時やコメント時のランキングに反映され、ウェイトが高いほど順位が高くなります。したがって、Weibo ウェイトは Weibo アカウントのトラフィック データにも影響します。実名制にするか、Weiboで契約したセルフメディアになることで比重を増やすことができます。

CSS セレクター ワイルドカードの重みと優先順位についての深い理解 CSS スタイル シートでは、セレクターは、スタイルを適用する HTML 要素を指定するための重要なツールです。複数のルールが HTML 要素に同時に適用される場合、セレクターの優先順位と重みによって、どのスタイルが適用されるかが決まります。ワイルドカード セレクターは、CSS の一般的なセレクターです。これは「*」記号で表され、すべての HTML 要素と一致することを意味します。ワイルドカード セレクターはシンプルですが、特定の状況では非常に役立ちます。ただし、ワイルドカード セレクターの重みと優先順位も

この記事では、指定されたタスクは文字列の合計の重みを見つけることです。文字列の重みを計算するには、指定された文字列をより低い形式に変換します。文字の重みを考慮して、z=26 まで a=1、b=,2 とします。この Python 記事では、2 つの異なる例を使用して、特定の文字列の重みを見つける方法を示します。最初の例では、文字列内の指定された文字がフェッチされ、抽出されてから、それぞれの重みが更新された重みに追加されます。例 2 では、まず特定の文字が文字列内に出現する頻度を計算し、次にその頻度に対応する文字の重みを乗算し、これらのコンポーネントの重みをすべて加算して最終結果を取得します。例 1: 反復を使用して文字列の重みを見つけて文字を追加する

知名度の高いショートビデオプラットフォームであるDouyinでは、権威あるアカウントを持つことが多くのユーザーの夢です。しかし、ウェイトが低い一部のアカウントにとって、Douyin のウェイトをいかに改善するかは解決すべき緊急の問題となっています。この記事は、低ウェイトアカウントを改善する方法を探り、いくつかの効果的な方法とテクニックを共有することを目的としています。 1. 高品質のコンテンツを提供する: どのようなプラットフォームであっても、コンテンツは常に最も重要です。 Douyin アカウントの権威を高めるには、魅力的でユニークな高品質のコンテンツを提供する必要があります。これは、視聴者の興味を引き、共感を呼ぶ、興味深く、価値があり、特徴的な動画を作成する必要があることを意味します。話題のトピックやトレンドに注意を払い、常に革新して新しいアイデアを試し、より多くの視聴者の注目といいねを集めます。 2. 聴衆と対話する: 積極的に

この記事では、点 A から点 B までのパスの総数を見つける必要があるという問題が与えられます。ここで、A と B は固定点です。つまり、A はグリッドの左上隅の点、B はグリッドの下端の点です。右隅の点、たとえば、−Input:N=5Output:252Input:N=4Output:70Input:N=3Output:20 与えられた問題では、単純な観察を通じて答えを形式化し、結果を導き出すことができます。解を見つける方法 この方法では、グリッドを A から B に横切るときに右に n 回、下に n 回移動する必要があることを観察して式を考え出します。これは、考えられるすべてのパスの組み合わせを見つける必要があることを意味します。

この記事では、C++ を使用して、K 進木内の重み W を持つパスの数を数えます。 K 進木が与えられました。これは、各ノードが K 個の子を持ち、各エッジが重みを持ち、ノードからそのすべての子に向かって重みが 1 から K に減少する木です。重み W を持つルート ノードから始まり、重み M を持つ少なくとも 1 つのエッジを持つパスの累積数をカウントする必要があります。ここに例を示します。 入力:W=4,K=3,M=2出力:6 指定された問題では、時間と空間の複雑さを軽減するために dp を使用します。メモ化を使用すると、プログラムを高速化し、より大きな制約に適応させることができます。メソッド このメソッドでは、ツリーを走査し、次の使用法を追跡します。

TikTok は、数億人のユーザーを抱える最も人気のあるソーシャル メディア プラットフォームの 1 つです。ただし、多くの Douyin クリエイターは、Douyin の比重が低いという共通の問題に直面しています。 Douyin の比重が低いということは、その動画をより多くのユーザーに推奨することが難しく、露出やファンの増加に影響を与えることを意味します。では、この問題に直面して、どうやって抖音体重を改善すべきでしょうか? 1.Douyinの低体重を改善するにはどうすればよいですか?キーワードの最適化は、Douyin 動画の比重を改善する鍵となります。動画を公開するときは、動画が検索され、推奨されやすくなるように、適切なキーワードの選択に注意する必要があります。人気のキーワードやトピックを調査してコンテンツに関連するキーワードを見つけ、タイトル、説明、タグで適切に使用できます。まあ十分です

重みが 1 以上の最小エッジを持つパスを見つけるには、ダイクストラのアルゴリズムを少し変更して使用できます。まず、ソース ノードの重みを 1 に設定し、他のノードの重みを無限大に設定します。アルゴリズムの実行中、距離は更新されず、重みの積が更新されます。これにより、重みが最小のパスが確実に選択されます。各ステップで最小の重みを持つノードを選択することで、ターゲット ノードに到達するまでの最短パスを繰り返し発見します。最終的に、このパスに沿った重みの積は最小となり、指定された条件を満たします。使用した手法 修正ダイクストラ アルゴリズム、加重積を使用した修正ベルマン-フォード アルゴリズム、加重積を使用した修正ダイクストラ 加重積
