Dynamické programovanie

Tlač najdlhšej bitonickej subsekvencie
2026

Tlač najdlhšej bitonickej subsekvencie

Problémom najdlhšej bitonickej podsekvencie je nájsť najdlhšiu podsekvenciu danej sekvencie tak, aby sa najprv zväčšovala a potom zmenšovala. Sekvencia zoradená vo vzostupnom poradí sa považuje za bitonickú, pričom klesajúca časť je prázdna. Podobne postupnosť klesajúceho poradia sa považuje za bitonickú, pričom rastúca časť je prázdna. Príklady:

Vytlačte reťazec párov s maximálnou dĺžkou
2026

Vytlačte reťazec párov s maximálnou dĺžkou

Dostanete n dvojíc čísel. V každom páre je prvé číslo vždy menšie ako druhé číslo. Dvojica (c, d) môže nasledovať za ďalšou dvojicou (a, b), ak b < c. Týmto spôsobom je možné vytvoriť reťaz párov. Nájdite najdlhšiu reťaz, ktorá môže byť vytvorená z daného súboru párov. Príklady:

Nájdite všetky kombinácie k-bitových čísel s n bitmi, kde 1  <= n  <= k v zoradenom poradí
2026

Nájdite všetky kombinácie k-bitových čísel s n bitmi, kde 1 <= n <= k v zoradenom poradí

Ak je dané číslo k, nájdite všetky možné kombinácie k-bitových čísel s n-bitmi, kde 1 <= n <= k. Riešenie by malo najskôr vytlačiť všetky čísla s jedným nastaveným bitom, potom čísla s nastavenými dvoma bitmi, až po čísla, ktorých všetky k-bity sú nastavené. Ak majú dve čísla rovnaký počet nastavených bitov, potom by malo byť na prvom mieste menšie číslo. Príklady:

Minimálne náklady na naplnenie danej hmotnosti vo vreci
2026

Minimálne náklady na naplnenie danej hmotnosti vo vreci

Dostanete vrece s veľkosťou W kg a sú vám poskytnuté náklady na balíčky pomarančov rôznej hmotnosti v cene poľa[], kde cena[i] sú v podstate náklady na balenie pomarančov „i“ kg. Kde cena[i] = -1 znamená, že 'i' kg balík pomarančov nie je k dispozícii Nájdite minimálnu celkovú cenu na nákup presne W kg pomarančov a ak nie je možné kúpiť presne W kg pomarančov, vytlačte -1. Dá sa predpokladať, že existuje nekonečná zásoba všetkých dostupných typov paketov. Poznámka: pole začína od indexu 1.

Cesta s maximálnou priemernou hodnotou
2026

Cesta s maximálnou priemernou hodnotou

Daná štvorcová matica veľkosti N*N, kde každá bunka je spojená so špecifickými nákladmi. Cesta je definovaná ako špecifická sekvencia buniek, ktorá začína od ľavej hornej bunky a pohybuje sa iba doprava alebo nadol a končí v pravej dolnej bunke. Chceme nájsť cestu s maximálnym priemerom zo všetkých existujúcich ciest. Priemer sa vypočíta ako celkové náklady vydelené počtom buniek navštívených v ceste.

Problém s párovaním priateľov
2026

Problém s párovaním priateľov

Vzhľadom na n priateľov môže každý zostať sám alebo môže byť spárovaný s iným priateľom. Každý priateľ môže byť spárovaný iba raz. Zistite celkový počet spôsobov, ako môžu priatelia zostať single alebo môžu byť spárovaní.

Cesta minimálneho súčtu v 3-D poli
2026

Cesta minimálneho súčtu v 3-D poli

Dané 3-D pole arr[l][m][n], úlohou je nájsť minimálny súčet cesty z prvej bunky poľa do poslednej bunky poľa. Môžeme prejsť iba k susednému prvku, t. j. z danej bunky (i, j, k), bunkami (i+1, j, k), (i, j+1, k) a (i, j, k+1) je možné prejsť, diagonálne prechádzanie nie je povolené, môžeme predpokladať, že všetky náklady sú kladné celé čísla.