+Mìjme~$n$ pøedná¹ek s~urèenými èasy zaèátku a konce. Chceme je rozvrhnout
+do co~nejmen¹ího poètu poslucháren tak, aby nikdy neprobíhaly dvì pøedná¹ky
+naráz v~jedné místnosti.
+
+Chceme tedy obarvit co nejmen¹ím poètem barev graf, jeho¾ vrcholy jsou èasové
+intervaly a dvojice intervalù je spojena hranou, pokud má neprázdný prùnik.
+Takovým grafùm se øíká {\I intervalové} a pro jejich barvení existuje pìkný
+polynomiální algoritmus.
+
+Podobnì jako jsme geometrické problémy øe¹ili zametáním roviny, zde budeme
+\uv{zametat pøímku bodem}, tedy procházet ji zleva doprava, a~v¹ímat si
+událostí, co¾ budou zaèátky a konce intervalù. Pro jednoduchost pøedpokládejme,
+¾e v¹echny souøadnice zaèátkù a koncù jsou navzájem rùzné.
+
+Kdykoliv interval zaène, pøidìlíme mu barvu. A¾ skonèí, o~barvì si poznamenáme,
+¾e je momentálnì volná, a~dal¹ím intervalùm budeme pøednostnì pøidìlovat
+volné barvy. Øeèeno v~pseudokódu:
+
+\algo
+\algin Intervaly $\left[ x_1, y_1 \right], \ldots, \left[ x_n, y_n \right]$.
+\:$b \= 0$ \cmt{poèet zatím pou¾itých barev}
+\:$B \= \emptyset$ \cmt{které barvy jsou momentálnì volné}
+\:Setøídíme mno¾inu v¹ech $x_i$ a $y_i$.
+\:Procházíme v¹echna $x_i$ a $y_i$ ve~vzestupném poøadí:
+\::Narazíme-li na $x_i$:
+\:::Je-li $B\ne\emptyset$, odebereme jednu barvu z~$B$ a ulo¾íme ji do~$c_i$.
+\:::Jinak $b\=b+1$ a $c_i\=b$.
+\::Narazíme-li na $y_i$:
+\:::Vrátíme barvu $c_i$ do~$B$.
+\algout Obarvení $c_1,\ldots,c_n$.
+\endalgo
+
+\s{Analýza:}
+Tento algoritmus má èasovou slo¾itost $\O(n\log n)$ kvùli tøídìní souøadnic.
+Samotné obarvování je lineární.
+
+Je¹tì ov¹em potøebujeme dokázat, ¾e jsme pou¾ili minimální mo¾ný poèet barev.
+Uva¾ujme okam¾ik, kdy promìnná~$b$ naposledy vzroste. Tehdy zaèal interval
+a mno¾ina~$B$ byla prázdná, co¾ znamená, ¾e jsme $b-1$ pøedchozích barev museli
+pøidìlit intervalùm, je¾ zaèaly a dosud neskonèily. Existuje tedy $b$ rùzných
+intervalù, které mají spoleèný bod (v~grafu tvoøí kliku), tak¾e ka¾dé obarvení
+potøebuje alespoò~$b$ barev.