De ce contează?
Mergi pe un drum lung și vrei să știi, din fiecare punct, cât de înalt este cel mai înalt deal care încă urmează în față. Dacă o iei de la capătul drumului spre tine, ai mereu răspunsul pregătit: cel mai înalt deal „de aici încolo” este sau dealul pe care stai, sau cel mai înalt deal pe care l-ai văzut deja venind dinspre capăt. Nu trebuie să te uiți de fiecare dată în zare — duci răspunsul cu tine, înapoi spre start. Exact așa se construiește un vector de maxime pe sufixe.
Intuiția
Un sufix este o bucată din vector care începe la o poziție i și ține până la capăt: a[i], a[i+1], ..., a[n-1]. Vrem suf[i] = cel mai mare element din acel sufix, adică cel mai mare element aflat la dreapta lui i, inclusiv i. Este oglinda maximelor pe prefixe, doar că „capătul fix” este acum dreapta vectorului, nu stânga. De aceea îl construim mergând de la dreapta la stânga.