Asosiy tarkibga o‘tish
CodeArena
Kirish
Kurslar

Texnikalar · Istalgan oraliq yig‘indisini O(1) da topish

Prefiks yig‘indilar

Medium 2 masala

Boshlash

Nazariya

Prefiks yig‘indi: p[i] = a[0] + ... + a[i-1]. Shunda [l, r] oraliq yig‘indisi bir amalda:

p = [0]
for x in a:
    p.append(p[-1] + x)
# a[l..r] (0 dan, ikkala chegara kiradi):
s = p[r + 1] - p[l]

Q ta so‘rovda har birini sikl bilan hisoblash O(n·q), prefiks bilan — O(n + q).

Kengaytmalar: ikki o‘lchovli prefiks (to‘g‘ri to‘rtburchak yig‘indisi), farq massivi (oraliqqa qo‘shish).

Beginner masalalar 1

Medium masalalar 1

Menyu

Ko‘rinish

Klaviatura yorliqlari

Ctrl K yoki /
Qidirish va buyruqlar
g h
Bosh sahifa
g p
Masalalar
g c
Musobaqalar
g r
Reyting
Ctrl Enter
Masala sahifasida — yechimni yuborish
?
Shu oyna