Dinamično programiranje

Tiskanje najdaljšega bitonskega podzaporedja
2026

Tiskanje najdaljšega bitonskega podzaporedja

Problem najdaljšega bitonskega podzaporedja je najti najdaljše podzaporedje danega zaporedja, tako da najprej narašča in nato pada. Zaporedje, razvrščeno v naraščajočem vrstnem redu, se šteje za bitonično, padajoči del pa prazen. Podobno padajoče zaporedje vrstnega reda velja za bitonično, naraščajoči del pa prazen. Primeri:

Natisnite največjo dolžino verige parov
2026

Natisnite največjo dolžino verige parov

Dobili ste n parov števil. V vsakem paru je prvo število vedno manjše od drugega števila. Par (c, d) lahko sledi drugemu paru (a, b), če je b < c. Na ta način se lahko oblikuje veriga parov. Poiščite najdaljšo verigo, ki jo lahko sestavite iz dane množice parov. Primeri:

Poiščite vse kombinacije k-bitnih števil z n bitov, kjer je 1  <= n  <= k v razvrščenem vrstnem redu
2026

Poiščite vse kombinacije k-bitnih števil z n bitov, kjer je 1 <= n <= k v razvrščenem vrstnem redu

Za podano število k poiščite vse možne kombinacije k-bitnih števil z n-biti, kjer je 1 <= n <= k. Rešitev mora najprej natisniti vsa števila z enim nastavljenim bitom, ki jim sledijo števila z dvema nastavljenima bitoma,.. do števil, katerih vsi k-biti so nastavljeni. Če imata dve števili enako število nastavljenih bitov, mora biti najprej manjše število. Primeri:

Najmanjši stroški za izdelavo dveh enakih nizov
2026

Najmanjši stroški za izdelavo dveh enakih nizov

Dana sta dva niza X in Y ter dve vrednosti costX in costY. Poiskati moramo najmanjši strošek, ki je potreben, da sta podana niza enaka. Iz obeh nizov lahko izbrišemo znake. Strošek brisanja znaka iz niza X je costX in iz Y je costY. Stroški odstranitve vseh znakov iz niza so enaki.

Minimalni stroški za polnjenje določene teže v vrečko
2026

Minimalni stroški za polnjenje določene teže v vrečko

Dobili ste vrečo velikosti W kg in podane so vam cene paketov različnih tež pomaranč v matriki cost[], kjer je cost[i] v bistvu strošek 'i' kg paketa pomaranč. Kjer cena[i] = -1 pomeni, da 'i' kg paketa pomaranč ni na voljo. Poiščite najnižjo skupno ceno za nakup točno W kg pomaranč in če ni mogoče kupiti točno W kg pomaranč, natisnite -1. Lahko se domneva, da obstaja neskončna ponudba vseh razpoložljivih vrst paketov. Opomba: niz se začne od indeksa 1.

Pot z največjo povprečno vrednostjo
2026

Pot z največjo povprečno vrednostjo

Podana je kvadratna matrika velikosti N*N, kjer je vsaka celica povezana z določeno ceno. Pot je opredeljena kot določeno zaporedje celic, ki se začne od zgornje leve celice in se premika samo desno ali navzdol in konča v spodnji desni celici. Želimo najti pot z največjim povprečjem med vsemi obstoječimi potmi. Povprečje se izračuna kot skupni stroški, deljeni s številom celic, obiskanih na poti.

Težava pri seznanjanju prijateljev
2026

Težava pri seznanjanju prijateljev

Glede na n prijateljev lahko vsak ostane samski ali pa ga lahko povežete s kakšnim drugim prijateljem. Vsak prijatelj je lahko seznanjen samo enkrat. Ugotovite skupno število načinov, na katere lahko prijatelji ostanejo samski ali se lahko združijo.

Najmanjša pot vsote v 3-D nizu
2026

Najmanjša pot vsote v 3-D nizu

Za podano 3-D matriko arr[l][m][n] je naloga najti najmanjšo vsoto poti od prve celice matrike do zadnje celice matrike. Prehodimo lahko samo do sosednjega elementa, tj. iz dane celice (i, j, k) lahko prečkamo celice (i+1, j, k), (i, j+1, k) in (i, j, k+1), diagonalno prečkanje ni dovoljeno. Predpostavimo lahko, da so vsi stroški pozitivna cela števila.