Sunteți pe pagina 1din 3

Cum la problemele de programare dinamica au fost atatea discutii

interesante si idei din care am invatat cu totii, m-am gandit ca


putem discuta si despre probleme de geometrie (mai mult sau mai
putin)computationala.
Fiecare problema ar trebui rezolvata cu un algoritm care sa mearga
in maxim 5 secunde.
Multe sunt banale si ar trebui sa le stim toti si sa le
implementam in sub 20 de minute. Majoritatea sunt medii si cateva
sunt complicate ca idee, altele complicate ca implementare. Am
incercat sa pun * care sa exprime dificultatea. Va rog sa va uitati
peste ele si sa imi ziceti care nu stiti cum se face, sa avem o
discutie constructiva. Da va rog intrebati in ordinea gradului de
dificultate (adica nu ma intrebati problema cea mai grea daca nu
stiti cum se fac problemele mai simple).
Si daca aveti voi vreo problema de geometrie care credeti ca e
interesanta sau nu o stiti face, intrebati.
** inseamna problema medie
Am scris cam multe probleme, dar incercati sa va uitati, macar pe
cele <= **
1. ** Se dau coordonatele a n puncte din plan (n<=1000). Gasiti o
dreapta care contine cele mai multe puncte coliniare din punctele
date (cormen).
2. ** Se dau coordonatele a n puncte din plan (n<=1000). Se cere sa
se gaseasca daca exista sau nu un triunghi cu varfurile in cele n
puncte care sa fie dreptunghic.
3. Se dau n puncte de coordonate intregi (n<=1000) se cere sa se
determine un poligon cu varfurile in aceste puncte (ceva de genu
asta s-a dat la lot prin 94).
4. Se dau n puncte (n<=10000). Sa se determine infasuratoarea
convexa a celor n puncte (cormen,stroe).
5. ** Se dau 2 poligoane convexe fiecare avand maxim 1000 de
varfuri. Se cere sa se determine intersectia lor (bursele agora,i-am
dat 2 stele desi la concurs am complicat-o rau de tot).
6. *** Se dau n puncte (n<=10000). Sa se determine perechea de
puncte din cele n cu distanta maxima intre ele (parca am vazut-o pe
la ceva acm, s-ar putea sa fie si in cormen, medie + * daca nu stiti
cum sa o faceti, implemenatrea e *).
6 b *** Se dau n puncte (n<=10000). Sa se determine perechea de
puncte din cele n cu distanta minima intre ele. (cormen si bursele
agora)
7. * Se dau n puncte (n<=400) oricare 3 necoliniare. Gasiti un romb
cu varfurile in punctele date, (daca exista) (s-a propus pe lista de
discutii [olimpiada] acum vreo 2 ani).
8. Se dau n puncte (n<=500). Gasiti un patrat arie minima care
contine in interior sau pe frontiera cel putin jumatate din punctele

date (internet problem solving contest 2002, astia au probleme faine


de tot).
9. ***** Se dau n puncte in plan (n<=1000) de coordonate intregi
mai mici
in modul ca 250, oricare 3 necoliniare. Gasiti un triunghi cu
varfurile in punctele date de perimetru minim. (Nu stiu o rezolvare
simpla la problema cu restrictie 250, dar cred ca pot face o
rezolvare un pic mai complicata pentru coordonate reale.) (lista
[olimpiada])
10. ***** Se dau n puncte in plan (n<=1000) de coordonate reale. Se
cere sa se determine triunghiul de arie minima cu varfurile in
punctele date. (lista [olimpiada], este o rezolvare in N^2 dar
destul de dura)
11. **** Se dau n drepte (n<=1000). Sa se determine dreptele
vizibile din origine. (am auzit-o de la Dumitran si este si pe lista
lui Francu, exista o rezlvare mai usoara cu un pic de cunostinte,
daca se face muncitoreste problema e grea, daca se face cu idee
problema e *)
12. **** Se dau n puncte in plan (n<=100000). Se cere sa se
determine cercul de raza minima care le contine in interior pe toate
punctele. (Balkan OI 2002, si http://www.fudv.ro/campion/, daca
testele sunt slabe ... atunci problema ar merita * altfel exista un
algoritm randomizat al lui Welzl care rezolva problema in O(N))
13. *** Se dau n puncte in plan (n<=1000) si un numer real pozitiv
r. Se cere sa se determine cercul de raza r ce contine numarul maxim
de puncte in interior. (topcoder o varianta cu n mai mic, si CEOI 96
sau 97, problema faina, de idee)
14. *** Se dau n dreptunghiuri cu laturile paralele cu axele de
coordonate ce se pot suprapune(n<=1000) . Se cere aria figurii
acoperite de aceste dreptunghiuri. (IOI 98, selectie lot acm
Universitatea Bucuresti)
15. *** Se dau n triunghiuri dreptunghice isoscele cu laturile
perpendiculare paralele cu axele de coordonate (n<=1000). Se cere
aria reuniunii triunghiurilor. (BOI 2002)
16. Se da un numar natural n. Care este numarul de regiuni in care
se imparte planul de n cercuri care nu se intersecteaza cate 3 intrun punct si oricare 2 se intersecteaza in 2 puncte ( :) problema de
pe UVA).
17. *** Care este numarul maxim de regiuni in care se inparte
planul daca folosim n drepte. Aceeiasi problema pentru cercuri.
Aceeiasi problema pentru spatiu si sfere (problema data la bursele
agora) (Probleme neelementare tratate elementar Iaglom,Iaglom).
18. * Avem n drepte in plan fiecare dreapta fiind data prin 2
perechi de coordonate (n<=100). Sa se determine in cate zone se
imparte astfel planul (internet problem solving contest 2001).
19. ** (problema de-a mea :)) Se dau n de puncte de coordonate
intregi (n<=10000). Sa se determine cate triunghiuri cu varfurile in
punctele astea au ca arie un numar intreg.

20. * Sa se determine aria unui poligon oarecare ce are n varfuri


(n<=10000).(judeteana Bistrita,97)
21. Sa se determine daca un poligon cu n varfuri (n<=100000) este
convex.
22. Sa se determine daca un poligon are varfurile date in sens
trigonometric sau sens orar (n<=100000).
23. Sa se determine centrul de greutate al unui poligon oarecare ce
are n varfuri (n<=10000). (acm central european region, olimpiada
online)
24. Se dau n segmente (n<=100). Sa se determine o dreapta ce
intersecteaza numarul maxim posibil de segmente. (lista [olimpiada])
25. Se dau doua multimi de n si m puncte (n,m<=300). Sa se
determine o dreapta care separa aceste doua multimi. (baraj 98)
26. * Se da un poligon oarecare cu n varfuri (n<=1000). Se dau m
puncte (m<=1000). Sa se determine care dintre puncte sunt interioare
poligonului. (pregatire lot 99)
27. *** Se da un poligon convex cu n varfuri (n<=1000). Se dau m
puncte (m<=100000). Sa se determine care dintre puncte sunt
interioare poligonului. (balcaniada 99, cu date ca si la problema
anterioara)
28. *** Se da un poligon convex de n noduri (n<=10000) si m drepte
(m<=10000). Sa se determine cate drepte intersecteaza poligonul.
(baraj 98, ceoi 2002)
29. * Se dau n puncte de coordonate intregi in plan, sa se
determine numarul de puncte de coordonate intregi de pe contrulul
poligonului, aria poligonului, si numarul de puncte de coordonate
intregi interioare poligonului. (selectie acm Babes 2003 :))
30. *** Se da un poligon convex cu n varfuri (n<=10000) de
coordonate reale intre 0 si 30000. Sa se determine numarul de puncte
de coordonate intregi din interiorul poligonului. (eu am vazut-0 pe
lista lui Francu, dar cred ca e si pe acm.timus.ru)
31. *** Se dau n puncte (n<=1000) intr-un dreptunghi. Sa se
determine dreptunghiul de arie maxima continut in dreptunghiul
initial cu laturile paralele cu cele ale dreptunghiului initial,
care nu contine nici un punct in interior. (El Judge, UVA, CEOI 96
sau 97)
Salutare si spor la munca
Cosmin

S-ar putea să vă placă și