Algoritmizace – 5. cvičení

Počet jedniček

Mějme posloupnost x1,,xnx_1, \dots, x_n, kde xi{0,1}x_i \in \{ 0, 1 \}. Dostaneme kk dotazů tvaru (a,b)(a, b) a máme odpovědět, kolik jedniček je v úseku xa,,xbx_a, \dots, x_b.

Úsek se zadaným součtem

Mějme posloupnost x1,,xnx_1, \dots, x_n, kde xi>0x_i > 0. Najděte souvislý úsek se součtem přesně SS.

Příklad:

5,3,6,3,1,2,45, 3, 6, 3, 1, 2, 4.

S=10S = 10.

Hledaný úsek může výt třeba 6,3,16, 3, 1.

Nejdelší vyvážený úsek

Mějme posloupnost x1,,xnx_1, \dots, x_n, kde xi{1,1}x_i \in \{ -1, 1 \} (můžeme také používat značení ,+-, +). Hledáme nejdelší úsek se součtem 00.

Příklad:

+,+,+,,,+,+,+,,+,,,++, +, +, -, -, +, +, +, -, +, -, -, +.

Hledaný úsek může výt třeba vše od prvního - do konce.