


Ermitteln Sie mit C++ die Anzahl der Pfade mit der Gewichtung W in einem K-ary-Baum
In diesem Artikel verwenden wir C++, um die Anzahl der Pfade mit der Gewichtung W in einem K-ary-Baum zu zählen. Uns wurde ein K-ary-Baum gegeben, ein Baum, in dem jeder Knoten K Kinder hat und jede Kante ein Gewicht hat, wobei das Gewicht von 1 auf K von einem Knoten zu allen seinen Kindern abnimmt.
Wir müssen die kumulative Anzahl der Pfade zählen, die vom Wurzelknoten beginnen und die Gewichtung W und mindestens eine Kante mit der Gewichtung M haben. Hier ist ein Beispiel:
Input : W = 4, K = 3, M = 2 Output : 6
Im gegebenen Problem werden wir dp verwenden, um die zeitliche und räumliche Komplexität zu reduzieren. Durch die Memoisierung können wir unsere Programme schneller machen und sie an größere Einschränkungen anpassen.
Methode
Bei dieser Methode durchqueren wir den Baum und verfolgen Kanten mit oder ohne Gewicht von mindestens M und einem Gewicht gleich W und erhöhen dann die Antwort.
Eingabe
#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; }
Ausgabe
3
Erklärung des obigen Codes
Bei dieser Methode werden Kanten mit dem Gewicht M mindestens einmal einbezogen oder nicht. Zweitens haben wir das Gesamtgewicht des Pfades berechnet, wenn es gleich W ist.
Wir erhöhen die Antwort um eins, markieren den Pfad als besucht, fahren mit allen möglichen Pfaden fort und enthalten mindestens eine Kante mit einem Gewicht größer oder gleich M.
Fazit
In diesem Artikel haben wir dynamische Programmierung verwendet, um das Problem zu lösen, die Anzahl der Pfade mit dem Gewicht W in einem k-ary-Baum mit einer zeitlichen Komplexität von O(W*K) zu finden.
Wir haben auch ein C++-Programm und eine vollständige Methode (allgemein und effizient) gelernt, um dieses Problem zu lösen.
Das obige ist der detaillierte Inhalt vonErmitteln Sie mit C++ die Anzahl der Pfade mit der Gewichtung W in einem K-ary-Baum. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Das Weibo-Gewicht bezieht sich auf die offizielle Weibo-Bewertung von Weibo-Konten, die sich hauptsächlich im Ranking bei Suchanfragen und Kommentaren widerspiegelt. Je höher das Gewicht, desto höher das Ranking. Daher wirkt sich das Weibo-Gewicht auch auf die Verkehrsdaten von Weibo-Konten aus. Das Gewicht kann durch das System mit echten Namen erhöht werden, oder indem man ein vertraglich vereinbarter Selbstvermittler auf Weibo wird.

Detailliertes Verständnis der Gewichtung und Priorität von CSS-Selektor-Platzhaltern. In CSS-Stylesheets sind Selektoren ein wichtiges Werkzeug zum Angeben, auf welche HTML-Elemente der Stil angewendet wird. Die Priorität und Gewichtung des Selektors bestimmen, welcher Stil angewendet wird, wenn mehrere Regeln gleichzeitig auf ein HTML-Element angewendet werden. Platzhalterselektoren sind ein häufiger Selektor in CSS. Es wird durch das Symbol „*“ dargestellt, was bedeutet, dass es mit allen HTML-Elementen übereinstimmt. Platzhalterselektoren sind einfach, können aber in bestimmten Situationen sehr nützlich sein. Allerdings auch das Gewicht und die Priorität von Wildcard-Selektoren

In diesem Artikel besteht die Aufgabe darin, das Gesamtgewicht einer Zeichenfolge zu ermitteln. Um das String-Gewicht zu berechnen, konvertieren wir den gegebenen String in eine niedrigere Form. Unter Berücksichtigung der Zeichengewichtung nehmen wir a=1, b=,2 usw. bis z=26. In diesem Python-Artikel wird anhand von zwei verschiedenen Beispielen eine Methode zum Ermitteln der Gewichtung einer bestimmten Zeichenfolge vorgestellt. Im ersten Beispiel werden die angegebenen Zeichen in der Zeichenfolge abgerufen, gesichert und dann werden ihre jeweiligen Gewichtungen zu den aktualisierten Gewichtungen addiert. In Beispiel 2 berechnen Sie zunächst, wie oft ein bestimmtes Zeichen in der Zeichenfolge vorkommt, multiplizieren dann diese Häufigkeit mit der entsprechenden Zeichengewichtung und addieren dann alle diese Komponentengewichtungen, um das Endergebnis zu erhalten. Beispiel 1: Ermitteln Sie die Zeichenfolgenstärke und fügen Sie mithilfe der Iteration Zeichen hinzu

Auf Douyin, einer hochkarätigen Kurzvideoplattform, ist es der Traum vieler Nutzer, über ein Konto mit hoher Autorität zu verfügen. Für einige Konten mit geringem Gewicht ist die Verbesserung des Douyin-Gewichts jedoch zu einem dringenden Problem geworden, das gelöst werden muss. Ziel dieses Artikels ist es, zu untersuchen, wie sich Konten mit geringem Gewicht verbessern lassen, und einige wirksame Methoden und Techniken vorzustellen. 1. Stellen Sie qualitativ hochwertige Inhalte bereit: Egal auf welcher Plattform, Inhalte sind immer das Wichtigste. Um die Autorität Ihres Douyin-Kontos zu erhöhen, müssen Sie qualitativ hochwertige Inhalte bereitstellen, die attraktiv und einzigartig sind. Das bedeutet, dass Sie interessante, wertvolle und unverwechselbare Videos erstellen sollten, die Ihr Publikum interessieren und bei ihm Anklang finden. Achten Sie auf aktuelle Themen und Trends, entwickeln Sie ständig neue Ideen und probieren Sie sie aus, um mehr Aufmerksamkeit und Likes beim Publikum zu erregen. 2. Interagieren Sie mit dem Publikum: Positiv

In diesem Artikel erhalten wir ein Problem, bei dem wir die Gesamtzahl der Pfade von Punkt A zu Punkt B ermitteln müssen, wobei A und B feste Punkte sind, d. h. A ist der obere linke Eckpunkt im Gitter und B der untere rechter Eckpunkt, zum Beispiel −Input:N=5Output:252Input:N=4Output:70Input:N=3Output:20 In dem gegebenen Problem können wir die Antwort formalisieren und das Ergebnis durch einfache Beobachtungen ableiten. Methode zur Lösungsfindung Bei dieser Methode leiten wir eine Formel ab, indem wir beobachten, dass wir beim Überqueren des Gitters von A nach B n-mal nach rechts und n-mal nach unten gehen müssen, was bedeutet, dass wir alle möglichen Pfadkombinationen finden müssen, also erhalten wir

In diesem Artikel verwenden wir C++, um die Anzahl der Pfade mit der Gewichtung W in einem K-ary-Baum zu zählen. Uns wurde ein K-ary-Baum gegeben, ein Baum, in dem jeder Knoten K Kinder hat und jede Kante ein Gewicht hat, wobei das Gewicht von 1 auf K von einem Knoten zu allen seinen Kindern abnimmt. Wir müssen die kumulative Anzahl der Pfade zählen, die vom Wurzelknoten ausgehen und die Gewichtung W und mindestens eine Kante mit der Gewichtung M haben. Hier ist ein Beispiel: Input:W=4,K=3,M=2Output:6 Im gegebenen Problem werden wir dp verwenden, um die zeitliche und räumliche Komplexität zu reduzieren. Durch die Memoisierung können wir unsere Programme schneller machen und sie an größere Einschränkungen anpassen. Methode In dieser Methode durchlaufen wir den Baum und verfolgen die Verwendung von

Um den Pfad mit der kleinsten Kante mit einem Gewicht größer oder gleich 1 zu finden, können wir mit einer leichten Modifikation den Dijkstra-Algorithmus verwenden. Zuerst setzen wir die Gewichtung des Quellknotens auf 1 und die Gewichtung der anderen Knoten auf unendlich. Während der Ausführung des Algorithmus aktualisieren wir nicht mehr die Distanz, sondern das Produkt der Gewichte. Dadurch wird sichergestellt, dass der Pfad mit dem geringsten Gewicht ausgewählt wird. Indem wir bei jedem Schritt den Knoten mit dem geringsten Gewicht auswählen, ermitteln wir iterativ den kürzesten Weg, bis der Zielknoten erreicht ist. Schließlich wird das Produkt der Gewichte entlang dieses Pfades minimal sein und die gegebene Bedingung erfüllen. Verwendete Methoden: Modifizierter Dijkstra-Algorithmus, Bellman-Ford-Algorithmus mit gewichteter Produktmodifikation, modifiziertes Dijkstra-gewichtetes Produkt mit gewichtetem Produkt

TikTok ist mit Hunderten Millionen Nutzern eine der beliebtesten Social-Media-Plattformen. Allerdings stehen viele Douyin-Schöpfer vor einem gemeinsamen Problem: dem geringen Gewicht des Douyin. Das geringe Gewicht von Douyin bedeutet, dass es für ihre Videos schwierig ist, mehr Nutzern empfohlen zu werden, was sich auf ihre Bekanntheit und ihr Fanwachstum auswirkt. Wie sollten wir angesichts dieses Problems unser Douyin-Gewicht verbessern? 1. Wie kann man das geringe Gewicht von Douyin verbessern? Die Keyword-Optimierung ist der Schlüssel zur Verbesserung des Gewichts von Douyin-Videos. Bei der Veröffentlichung eines Videos müssen wir auf die Auswahl geeigneter Schlüsselwörter achten, die dazu beitragen, dass das Video gesucht und empfohlen wird. Sie können Schlüsselwörter finden, die sich auf Ihre Inhalte beziehen, indem Sie nach beliebten Schlüsselwörtern und Themen suchen und diese entsprechend in Titeln, Beschreibungen und Tags verwenden. Gut genug
