Programare dinamică

Tipărirea celei mai lungi secvențe bitonice
2026

Tipărirea celei mai lungi secvențe bitonice

Problema celei mai lungi subsecvențe bitonice este de a găsi cea mai lungă subsecvență a unei secvențe date astfel încât să crească mai întâi și apoi să descrească. O secvență, sortată în ordine crescătoare, este considerată Bitonică cu partea descrescătoare ca fiind goală. În mod similar, secvența de ordine descrescătoare este considerată Bitonică, cu partea crescătoare ca fiind goală. Exemple:

Imprimați lanțul de perechi cu lungime maximă
2026

Imprimați lanțul de perechi cu lungime maximă

Vi se dau n perechi de numere. În fiecare pereche, primul număr este întotdeauna mai mic decât al doilea număr. O pereche (c, d) poate urma o altă pereche (a, b) dacă b < c. Lanțul de perechi poate fi format în acest mod. Găsiți cel mai lung lanț care poate fi format dintr-un set dat de perechi. Exemple:

Găsiți toate combinațiile de numere de k-biți cu n biți setați unde 1  <= n  <= k în ordine sortată
2026

Găsiți toate combinațiile de numere de k-biți cu n biți setați unde 1 <= n <= k în ordine sortată

Dat un număr k, găsiți toate combinațiile posibile de numere de k-biți cu n-biți setați unde 1 <= n <= k. Soluția ar trebui să imprime mai întâi toate numerele cu un bit setat, urmate de numere cu doi biți setați, .. până la numerele ai căror toți k-biți sunt setați. Dacă două numere au același număr de biți setați, atunci numărul mai mic ar trebui să fie primul. Exemple:

Costul minim pentru a face două șiruri identice
2026

Costul minim pentru a face două șiruri identice

Având în vedere două șiruri X și Y și două valori costX și costY. Trebuie să găsim costul minim necesar pentru a face identice cele două șiruri date. Putem șterge caractere din ambele șiruri. Costul ștergerii unui caracter din șirul X este costX și din Y este costY. Costul de eliminare a tuturor caracterelor dintr-un șir este același.

Costul minim pentru a umple greutatea dată într-o pungă
2026

Costul minim pentru a umple greutatea dată într-o pungă

Vi se oferă un sac de mărimea W kg și vi se oferă costurile pachetelor cu diferite greutăți de portocale în matrice cost[] unde cost[i] este practic costul unui pachet „i” kg de portocale. Unde cost[i] = -1 înseamnă că pachetul „i” kg de portocale nu este disponibil. Aflați costul total minim pentru a cumpăra exact W kg portocale și dacă nu este posibil să cumpărați exact W kg portocale, imprimați -1. Se poate presupune că există o ofertă infinită de toate tipurile de pachete disponibile. Notă: matricea începe de la indexul 1.

Calea cu valoarea medie maximă
2026

Calea cu valoarea medie maximă

Având în vedere o matrice pătrată de dimensiune N*N, în care fiecare celulă este asociată cu un cost specific. O cale este definită ca o secvență specifică de celule care începe de la celula din stânga sus, care se mișcă numai la dreapta sau în jos și se termină în celula din dreapta jos. Vrem să găsim o cale cu media maximă pentru toate căile existente. Media este calculată ca cost total împărțit la numărul de celule vizitate în cale.

Calea sumă minimă în matrice 3-D
2026

Calea sumă minimă în matrice 3-D

Având în vedere o matrice 3-D arr[l][m][n], sarcina este de a găsi suma minimă a căilor de la prima celulă a matricei până la ultima celulă a matricei. Putem parcurge doar la elementul adiacent, adică dintr-o celulă dată (i, j, k), celulele (i+1, j, k), (i, j+1, k) și (i, j, k+1) pot fi parcurse, traversarea diagonală nu este permisă, putem presupune că toate costurile sunt numere întregi pozitive.