Lista de probleme 4

Filtrare

Dându-se N intervale [a, b], calculați numărul maxim de astfel de intervale care se intersectează în cel puțin un punct.

ad-hoc

Se dă un șir de n numere întregi a = (a[1], a[2], ..., a[n]). Trebuie să construiți un nou vector b de lungime n în care valorile sunt cuprinse între 1 și n astfel: toate elementele a[i] care memorează valoarea minimă se înlocuiesc în b[i] cu 1, toate elementele a[j] imediat mai mari decât minimele se înlocuiesc în b[j] cu 2, ș.a.m.d.

#4688 NrSeq

Se dă un șir a1, a2, …, an de numere întregi. În acest șir, o secvență de cel puțin două elemente ai, ai+1, …, aj este validă dacă ai este strict mai mic decât aj. Cu alte cuvinte, secvența de cel puțin două elemente trebuie să aibă capătul din stânga strict mai mic decât capătul din dreapta al secvenței. Să se determine câte secvențe valide sunt în șir.

Miruna a găsit pe fundul mării o matrice cu n linii şi m coloane având elementele numere naturale. Din motive necunoscute, Mirunel, prietenul misterios al Mirunei, vrea să afle care este latura celei mai mari submatrice pătratice care conţine maxim k numere distincte. Submatricea cu colţul stânga-sus (xs, ys) şi colţul dreapta-jos (xd, yd) este formată din toate elementele din matrice având indicele liniei în intervalul [xs, xd] şi indicele coloanei în intervalul [ys, yd]. Scrieţi un program care să determine latura maximă a unei submatrice care respectă condiţiile lui Mirunel.