Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pa:laboratoare:laborator-01 [2026/03/01 10:36]
darius.neatu [Extra (studiu de caz pentru acasă)]
pa:laboratoare:laborator-01 [2026/03/04 11:39] (current)
radu.nichita [Pool probleme (pentru prezentări)]
Line 7: Line 7:
 ===== Precizări inițiale ===== ===== Precizări inițiale =====
 <​note>​ <​note>​
-Toate exemplele de cod se găsesc pe pagina [[https://​github.com/​acs-pa/​pa-lab/​tree/​main/​demo/lab03|pa-lab::demo/lab03]].+Toate exemplele de cod se găsesc pe pagina [[https://​github.com/​acs-pa/​pa-lab/​tree/​main/​algorithms/lab01|pa-lab/algorithms/​lab01]].
  
 Exemplele de cod apar încorporate și în textul laboratorului pentru a facilita parcurgerea cursivă a acestuia. ATENȚIE! Varianta actualizată a acestor exemple se găsește întotdeauna pe GitHub. Exemplele de cod apar încorporate și în textul laboratorului pentru a facilita parcurgerea cursivă a acestuia. ATENȚIE! Varianta actualizată a acestor exemple se găsește întotdeauna pe GitHub.
Line 13: Line 13:
  
   * Toate bucățile de cod prezentate în partea introductivă a laboratorului (înainte de exerciții) au fost testate. Cu toate acestea, este posibil ca din cauza mai multor factori (formatare, caractere invizibile puse de browser etc) un simplu copy-paste să nu fie de ajuns pentru a compila codul.   * Toate bucățile de cod prezentate în partea introductivă a laboratorului (înainte de exerciții) au fost testate. Cu toate acestea, este posibil ca din cauza mai multor factori (formatare, caractere invizibile puse de browser etc) un simplu copy-paste să nu fie de ajuns pentru a compila codul.
-  * Vă rugam să compilați **DOAR** codul de pe GitHub. Pentru raportarea problemelor,​ contactați unul dintre maintaineri. ​+  * Vă rugăm ​să compilați **DOAR** codul de pe GitHub. Pentru raportarea problemelor,​ contactați unul dintre maintaineri. ​
   * Pentru orice problemă legată de conținutul acestei pagini, vă rugam să dați e-mail unuia dintre responsabili.   * Pentru orice problemă legată de conținutul acestei pagini, vă rugam să dați e-mail unuia dintre responsabili.
  
Line 540: Line 540:
 </​note>​ </​note>​
  
-  * [[https://​github.com/​acs-pa/​pa-lab/​tree/​main/​algorithms/​lab01/​ssm|pa-lab/​algorithms/​lab01/​ssm]] 
-  * [[https://​github.com/​acs-pa/​pa-lab/​tree/​main/​algorithms/​lab01/​scmax|pa-lab/​algorithms/​lab01/​scmax]] 
-  * [[https://​github.com/​acs-pa/​pa-lab/​tree/​main/​algorithms/​lab01/​rucsac|pa-lab/​algorithms/​lab01/​rucsac]] 
  
 ===== Pool probleme (pentru prezentări) ===== ===== Pool probleme (pentru prezentări) =====
  
 +======= 1) Edit Distance =======
 +
 +**Enunt:​**  ​
 +Se dau două șiruri de caractere ''​a''​ și ''​b''​.  ​
 +Într-o singură operație se poate:
 +  * insera un caracter,
 +  * șterge un caracter,
 +  * înlocui un caracter cu altul.
 +
 +Determinați numărul minim de operații necesare pentru a transforma șirul ''​a''​ în șirul ''​b''​.
 +
 +**Date de intrare:​**  ​
 +Se citesc două șiruri de caractere.
 +
 +**Date de ieșire:​**  ​
 +Se afișează un singur număr întreg — distanța minimă de editare dintre cele două șiruri.
 +
 +Problema se poate testa la:  ​
 +https://​cses.fi/​problemset/​task/​1639
 +
 +
 +======= 2) Projects =======
 +
 +**Enunt:​**  ​
 +Se dau ''​n''​ proiecte. Fiecare proiect este descris prin trei valori: ziua de început ''​a'',​ ziua de sfârșit ''​b''​ și profitul ''​p''​.  ​
 +Poți realiza un proiect doar dacă nu se suprapune cu alt proiect ales (intervalele nu trebuie să aibă zile comune).
 +
 +Determinați profitul maxim care poate fi obținut alegând un subset de proiecte compatibile.
 +
 +**Date de intrare:​**  ​
 +Pe prima linie se află un număr întreg ''​n''​.  ​
 +Pe următoarele ''​n''​ linii se află câte trei numere întregi ''​a'',​ ''​b'',​ ''​p''​.
 +
 +**Date de ieșire:​**  ​
 +Se afișează un singur număr întreg — profitul maxim posibil.
 +
 +Problema se poate testa la:  ​
 +https://​cses.fi/​problemset/​task/​1140
 +
 +
 +======= 3) Russian Doll Envelopes =======
 +
 +**Enunt:​**  ​
 +Se dă un vector de plicuri, unde fiecare plic este reprezentat prin două valori: lățimea și înălțimea sa.  ​
 +Un plic poate fi introdus într-un alt plic dacă și numai dacă ambele dimensiuni (lățime și înălțime) sunt strict mai mici.
 +
 +Determinați numărul maxim de plicuri care pot fi introduse unul în altul.
 +
 +**Date de intrare:​**  ​
 +Un vector bidimensional ''​envelopes'',​ unde ''​envelopes[i] = [w_i, h_i]''​.
 +
 +**Date de ieșire:​**  ​
 +Un număr întreg reprezentând numărul maxim de plicuri care pot fi imbricate.
 +
 +Problema se poate testa la:  ​
 +https://​leetcode.com/​problems/​russian-doll-envelopes/​description/​
 +
 +
 +======= 4) Largest Divisible Subset =======
 +
 +**Enunt:​**  ​
 +Se dă un vector de numere întregi distincte.  ​
 +Determinați cel mai mare subset astfel încât pentru orice două elemente ''​a''​ și ''​b''​ din subset, fie ''​a''​ îl divide pe ''​b'',​ fie ''​b''​ îl divide pe ''​a''​.
 +
 +Dacă există mai multe soluții, se poate afișa oricare dintre ele.
 +
 +**Date de intrare:​**  ​
 +Un vector de numere întregi distincte ''​nums''​.
 +
 +**Date de ieșire:​**  ​
 +Un vector care reprezintă un subset valid de dimensiune maximă.
 +
 +Problema se poate testa la:  ​
 +https://​leetcode.com/​problems/​largest-divisible-subset/​description/​
 +
 +
 +======= 5) Best Time to Buy and Sell Stock III =======
 +
 +**Enunt:​**  ​
 +Se dă un vector ''​prices'',​ unde ''​prices[i]''​ reprezintă prețul unei acțiuni în ziua ''​i''​.  ​
 +Puteți efectua cel mult două tranzacții (o tranzacție constă într-o cumpărare urmată de o vânzare).  ​
 +
 +Nu puteți deține mai multe acțiuni simultan (trebuie să vindeți înainte de a cumpăra din nou).
 +
 +Determinați profitul maxim care poate fi obținut.
 +
 +**Date de intrare:​**  ​
 +Un vector de numere întregi ''​prices''​.
 +
 +**Date de ieșire:​**  ​
 +Un număr întreg reprezentând profitul maxim posibil.
 +
 +Problema se poate testa la:  ​
 +https://​leetcode.com/​problems/​best-time-to-buy-and-sell-stock-iii/​description/​
  
 ===== Extra (studiu de caz pentru acasă) ​ ===== ===== Extra (studiu de caz pentru acasă) ​ =====
  
-<spoiler Coin change>+<spoiler Coin Change>
 Rezolvati pe leetcode problema [[ https://​leetcode.com/​problems/​coin-change/​description/​ | Coin Change]]. Rezolvati pe leetcode problema [[ https://​leetcode.com/​problems/​coin-change/​description/​ | Coin Change]].
 </​spoiler>​ </​spoiler>​
  
-<​spoiler ​Custi+<​spoiler ​CMLSC
-Rezolvati pe infoarena problema [[https://​infoarena.ro/​problema/​cmlsc| CMLSC]].+Rezolvati pe infoarena problema [[https://​infoarena.ro/​problema/​cmlsc| CMLSC]]. Similar, problema se poate găsi și [[Leetcode | https://​leetcode.com/​problems/​longest-common-subsequence/​description/​]].
 </​spoiler>​ </​spoiler>​
  
pa/laboratoare/laborator-01.1772354160.txt.gz · Last modified: 2026/03/01 10:36 by darius.neatu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0