Dynamisch programmeren

Afdrukken van de langste bitonische vervolgreeks
2026

Afdrukken van de langste bitonische vervolgreeks

Het langste bitonische deelreeksprobleem is om de langste deelreeks van een gegeven reeks te vinden, zodat deze eerst toeneemt en vervolgens afneemt. Een reeks, gesorteerd in oplopende volgorde, wordt als Bitonic beschouwd, waarbij het afnemende deel leeg is. Op dezelfde manier wordt de afnemende volgorde als Bitonic beschouwd, waarbij het toenemende deel als leeg wordt beschouwd. Voorbeelden:

Afdrukken Maximale lengte ketting van paren
2026

Afdrukken Maximale lengte ketting van paren

Je krijgt n getallenparen. In elk paar is het eerste getal altijd kleiner dan het tweede getal. Een paar (c, d) kan een ander paar (a, b) volgen als b < c. Op deze manier kan een keten van paren worden gevormd. Vind de langste keten die uit een gegeven set paren kan worden gevormd. Voorbeelden:

Vind alle combinaties van k-bit getallen met n bits ingesteld waarbij 1  <= n  <= k in gesorteerde volgorde
2026

Vind alle combinaties van k-bit getallen met n bits ingesteld waarbij 1 <= n <= k in gesorteerde volgorde

Gegeven een getal k, zoek alle mogelijke combinaties van k-bit getallen met n-bits ingesteld waarbij 1 <= n <= k. De oplossing moet eerst alle getallen met één ingestelde bit afdrukken, gevolgd door getallen met twee ingestelde bits,... tot aan de getallen waarvan alle k-bits zijn ingesteld. Als twee getallen hetzelfde aantal ingestelde bits hebben, moet het kleinere getal eerst komen. Voorbeelden:

Minimale kosten om twee snaren identiek te maken
2026

Minimale kosten om twee snaren identiek te maken

Gegeven twee strings X en Y, en twee waarden costX en costY. We moeten de minimale kosten vinden die nodig zijn om de gegeven twee strings identiek te maken. We kunnen tekens uit beide strings verwijderen. De kosten voor het verwijderen van een teken uit string X zijn costX en uit Y zijn costY. De kosten voor het verwijderen van alle tekens uit een string zijn hetzelfde.

Minimale kosten om een ​​bepaald gewicht in een zak te vullen
2026

Minimale kosten om een ​​bepaald gewicht in een zak te vullen

U krijgt een zak met de maat W kg en u krijgt de kosten van pakjes sinaasappelen met verschillende gewichten in array cost [] waarbij kosten [i] feitelijk de kosten zijn van 'i' kg pakje sinaasappels. Waar kosten[i] = -1 betekent dat 'i' kg pakje sinaasappelen niet beschikbaar is Zoek de minimale totale kosten om precies W kg sinaasappelen te kopen en als het niet mogelijk is om precies W kg sinaasappelen te kopen, druk dan -1 af. Er mag worden aangenomen dat er een oneindig aanbod is van alle beschikbare pakkettypen. Let op: array begint vanaf index 1.

Pad met maximale gemiddelde waarde
2026

Pad met maximale gemiddelde waarde

Gegeven een vierkante matrix van grootte N*N, waarbij elke cel is gekoppeld aan specifieke kosten. Een pad wordt gedefinieerd als een specifieke reeks cellen die begint bij de cel linksboven, alleen naar rechts of naar beneden beweegt en eindigt in de cel rechtsonder. We willen een pad vinden met het maximale gemiddelde over alle bestaande paden. Het gemiddelde wordt berekend als de totale kosten gedeeld door het aantal bezochte cellen in het pad.

Maximale som van paren met specifiek verschil
2026

Maximale som van paren met specifiek verschil

Gegeven een array van gehele getallen en een getal k. We kunnen twee getallen uit de array paren als het verschil daartussen strikt kleiner is dan k. De taak is om de maximaal mogelijke som van disjuncte paren te vinden. De som van P-paren is de som van alle 2P-paren.

Probleem met koppelen van vrienden
2026

Probleem met koppelen van vrienden

Als er n vrienden zijn, kan iedereen vrijgezel blijven of worden gekoppeld aan een andere vriend. Elke vriend kan slechts één keer worden gekoppeld. Ontdek het totale aantal manieren waarop vrienden alleenstaand kunnen blijven of kunnen worden gekoppeld.

Minimum sompad in 3D-array
2026

Minimum sompad in 3D-array

Gegeven een 3D-array arr[l][m][n], is het de taak om de minimale padsom te vinden van de eerste cel van de array naar de laatste cel van de array. We kunnen alleen naar een aangrenzend element gaan, d.w.z. vanuit een gegeven cel (i, j, k) kunnen cellen (i+1, j, k), (i, j+1, k) en (i, j, k+1) worden doorlopen, diagonale verplaatsing is niet toegestaan. We mogen aannemen dat alle kosten positieve gehele getallen zijn.