Dynamické programování

Tisk nejdelší bitonické subsekvence
2026

Tisk nejdelší bitonické subsekvence

Problémem nejdelší bitonické podsekvence je najít nejdelší podsekvenci dané sekvence tak, aby nejprve rostla a pak klesala. Sekvence seřazená ve vzestupném pořadí je považována za bitonic s klesající částí jako prázdnou. Podobně klesající pořadí pořadí je považováno za bitonic s rostoucí částí jako prázdnou. Příklady:

Tisk Maximální délka Řetěz párů
2026

Tisk Maximální délka Řetěz párů

Dostanete n dvojic čísel. V každém páru je první číslo vždy menší než druhé číslo. Pár (c, d) může následovat další pár (a, b), pokud b < c. Tímto způsobem lze vytvořit řetězec párů. Najděte nejdelší řetězec, který lze vytvořit z dané sady párů. Příklady:

Najděte všechny kombinace k-bitových čísel s n bity, kde 1  <= n  <= k v seřazeném pořadí
2026

Najděte všechny kombinace k-bitových čísel s n bity, kde 1 <= n <= k v seřazeném pořadí

Je-li dané číslo k, najděte všechny možné kombinace k-bitových čísel s n-bity, kde 1 <= n <= k. Řešení by mělo nejprve vytisknout všechna čísla s jedním nastaveným bitem, poté čísla se dvěma nastavenými bity, až po čísla, jejichž všechny k-bity jsou nastaveny. Pokud mají dvě čísla stejný počet nastavených bitů, mělo by být na prvním místě menší číslo. Příklady:

Minimální náklady na vytvoření identických dvou strun
2026

Minimální náklady na vytvoření identických dvou strun

Jsou dány dva řetězce X a Y a dvě hodnoty costX a costY. Musíme najít minimální náklady potřebné k tomu, aby byly dané dva řetězce identické. Můžeme odstranit znaky z obou řetězců. Náklady na odstranění znaku z řetězce X jsou nákladyX az Y jsou nákladyY. Náklady na odstranění všech znaků z řetězce jsou stejné.

Minimální náklady na naplnění dané hmotnosti v sáčku
2026

Minimální náklady na naplnění dané hmotnosti v sáčku

Dostanete pytel o velikosti W kg a jsou vám poskytnuty náklady na balíčky různých hmotností pomerančů v ceně pole[], kde cena[i] je v podstatě cena „i“ kg balíčku pomerančů. Kde cena[i] = -1 znamená, že 'i' kg balení pomerančů není k dispozici Najděte minimální celkovou cenu pro nákup přesně W kg pomerančů a pokud není možné koupit přesně W kg pomerančů, vytiskněte -1. Lze předpokládat, že existuje nekonečná zásoba všech dostupných typů paketů. Poznámka: pole začíná od indexu 1.

Cesta s maximální průměrnou hodnotou
2026

Cesta s maximální průměrnou hodnotou

Je dána čtvercová matice o velikosti N*N, kde každá buňka je spojena s konkrétními náklady. Cesta je definována jako specifická sekvence buněk, která začíná od levé horní buňky a pohybuje se pouze doprava nebo dolů a končí na buňce vpravo dole. Chceme najít cestu s maximálním průměrem ze všech existujících cest. Průměr se vypočítá jako celkové náklady dělené počtem buněk navštívených v cestě.

Problém s párováním přátel
2026

Problém s párováním přátel

Vzhledem k n přátelům může každý zůstat sám nebo může být spárován s jiným přítelem. Každý přítel může být spárován pouze jednou. Zjistěte celkový počet způsobů, jak mohou přátelé zůstat single nebo mohou být spárováni.

Cesta minimálního součtu ve 3D poli
2026

Cesta minimálního součtu ve 3D poli

Vzhledem k 3D poli arr[l][m][n] je úkolem najít minimální součet cesty od první buňky pole k poslední buňce pole. Můžeme procházet pouze k sousednímu prvku, tj. z dané buňky (i, j, k), lze procházet buňkami (i+1, j, k), (i, j+1, k) a (i, j, k+1), diagonální procházení není povoleno, Můžeme předpokládat, že všechny náklady jsou kladná celá čísla.