Mai intai trebuie sa te autentifici.
Diferente pentru problema/cautbin intre reviziile #52 si #60
Diferente intre titluri:
Cautbin
Căutare binară
Diferente intre continut:
== include(page="template/taskheader" task_id="cautbin") == Se da un sir de numere ordonat crescator cu $N$ elemente, si se cere sa se raspunda la $M$ intrebari de tipul:
0 $x$ -pozitiacea mai mare pe care se afla elementulcu valoarea $x$ sau $-1$ daca nu se gaseste in sir 1 $x$ - pozitiape care se afla elementulcelmai mare mai mic sau egal cu $x$ in sir. Se garanteaza ca cel mai mic numar al sirului este mai mic sau egal decat $x$ 2 $x$ - pozitiape care se afla elementulcelmaimic mai mare sau egal cu $x$ in sir. Se garanteaza ca cel mai mare numar din sir este mai mare sau egal decat $x$
0 $x$ - cea mai mare pozitie pe care se afla un element cu valoarea $x$ sau $-1$ daca aceasta valoare nu se gaseste in sir 1 $x$ - cea mai mare pozitie pe care se afla un element cu valoarea mai mica sau egala cu $x$ in sir. Se garanteaza ca cel mai mic numar al sirului este mai mic sau egal decat $x$ 2 $x$ - cea mai mica pozitie pe care se afla un element cu valoarea mai mare sau egala cu $x$ in sir. Se garanteaza ca cel mai mare numar din sir este mai mare sau egal decat $x$
h2. Date de intrare
Pe prima linie a fisierului de intrare $cautbin.in$ se afla numarul $N$ reprezentand numarul de elemente aleasirului. Pe urmatoarea linie se gasesc $N$ numere reprezentand elementele sirului. Linia a treia contine numarul $M$ reprezentand numarul de intrebari. Apoi urmeaza $M$ linii, fiecare cu unul dintre cele 3 tipuri de intrebari.
Pe prima linie a fisierului de intrare $cautbin.in$ se afla numarul $N$ reprezentand numarul de elemente ale sirului. Pe urmatoarea linie se gasesc $N$ numere reprezentand elementele sirului. Linia a treia contine numarul $M$ reprezentand numarul de intrebari. Apoi urmeaza $M$ linii, fiecare cu unul dintre cele 3 tipuri de intrebari.
h2. Date de iesire
table(example). |_. cautbin.in |_. cautbin.out | | 5
1 35815
1 3 3 3 5
3 0 3
1 2 2 7 | 2 1
1 3 2 3 | 4
4
2
| h2. Indicatii de rezolvare
O rezolvare avand complexitatea $O(N*M)$ obtine $40$ de puncte si se poate gasi 'aici':/job_detail/181397?action=view-source. 0 rezolvare folosind "cautarea binara":http://en.wikipedia.org/wiki/Binary_search, in varianta clasica, are complexitatea $0(Mlog{~2~}N)$ si obtine $100$ de puncte. Sursa se gaseste 'aici':/job_detail/181398?action=view-source. De asemenea, o solutie cu aceeasi complexitate teoretica dar mai rapida in practica foloseste cautarea binara pe biti, despre care puteti afla mai multe in articolul 'Multe "smenuri" de programare in C/C++... si nu numai!':multe-smenuri-de-programare-in-cc-si-nu-numai. O sursa care se bazeaza pe ideea prezentata in articol se gaseste 'aici':job_detail/194420?action=view-source.
O rezolvare avand complexitatea $O(N*M)$ obtine $40$ de puncte si se poate gasi 'aici':job_detail/181397?action=view-source. 0 rezolvare folosind "cautarea binara":http://en.wikipedia.org/wiki/Binary_search, in varianta clasica, are complexitatea $0(Mlog{~2~}N)$ si obtine $100$ de puncte. Sursa se gaseste 'aici':job_detail/394150?action=view-source. De asemenea, o solutie cu aceeasi complexitate teoretica dar mai rapida in practica foloseste cautarea binara pe biti, despre care puteti afla mai multe in articolul 'Multe "smenuri" de programare in C/C++... si nu numai!':multe-smenuri-de-programare-in-cc-si-nu-numai. O sursa care se bazeaza pe ideea prezentata in articol se gaseste 'aici':job_detail/194420?action=view-source. O sursa folosind cautarea binara din STL (lower_bound si upper_bound se gaseste 'aici':job_detail/394141?action=view-source.
Un alt articol foarte bun despre cautarea binara si aplicatii ale acesteia puteti gasi pe 'topcoder':http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=binarySearch. h2. Recomandari de implementare
* 'Patrate':problema/patrate * 'Frac':problema/frac * 'Poligon':problema/poligon
* 'Bere':problema/br
== include(page="template/taskfooter" task_id="cautbin") ==
==SmfTopic(topic_id="3143")==
Nu exista diferente intre securitate.
Diferente intre topic forum:
3143