Mengingat array bilangan ≤ k , di mana k adalah konstanta, saya ingin jawaban dalam O ( 1 ) query dalam bentuk: "berapa kali m muncul dalam array antara indeks i dan j "?
Array harus preprocessed dalam waktu linier. Khususnya saya ingin tahu apakah ada pengurangan ke Range Minimum Query.
Ini sama dengan RMQ dalam kasus di mana dan Anda ingin menanyakan jumlah yang dalam interval. Jadi kita bisa menggunakan itu . Saya tidak bisa menjawab pertanyaan saya sendiri karena keterbatasan SE.
Jawaban:
count[pos][elem] = occurences of 'elem' in the indices 0..pos
Preprocessing
Pertanyaan
(menganggap saya, keduanya adalah batas inklusif)
count
Permintaan maaf untuk masalah apa pun dengan jawaban ini, ini adalah yang pertama.
sumber