From: Martin Mares Date: Fri, 12 Jan 2007 20:43:42 +0000 (+0100) Subject: Opravy drobnych chyb. X-Git-Url: http://mj.ucw.cz/gitweb/?a=commitdiff_plain;h=66de0031bc8248c38306aac0930ea56807f8d0d3;p=ga.git Opravy drobnych chyb. --- diff --git a/10-decomp/10-decomp.tex b/10-decomp/10-decomp.tex index 480112f..7d63783 100644 --- a/10-decomp/10-decomp.tex +++ b/10-decomp/10-decomp.tex @@ -161,7 +161,7 @@ zda je p \s{Analýza:} Operace s~mikrostromy, spojovacími hranami a cestami jsou, jak u¾ víme, amortizovanì konstantní. Operace s~makrostromy také, jeliko¾ trvají $\O(\log n)$, ale provede se jich pouze $\O(n/\log n)$. Ka¾dou operaci \ nebo \ -rozlo¾íme $\O(1)$ tìchto dílèích operací, tak¾e bude také trvat $\O(1)$ amortizovanì. +rozlo¾íme na~$\O(1)$ tìchto dílèích operací, tak¾e bude také trvat $\O(1)$ amortizovanì. \h{Fredericksonova clusterizace} diff --git a/2-dinic/2-dinic.tex b/2-dinic/2-dinic.tex index 5e339c3..5e24a11 100644 --- a/2-dinic/2-dinic.tex +++ b/2-dinic/2-dinic.tex @@ -21,7 +21,7 @@ kdyby neuva \::Sestroj sí» rezerv. \::Najdi nejkrat¹í $st$-cestu. Kdy¾ ¾ádná neexistuje, skonèi. \::Proèisti sí», tj. nech v ní pouze vrcholy a hrany na nejkrat¹ích $st$-cestách. -\::Najdi blokující tok $f_B$: +\::Najdi v~proèi¹tìné síti blokující tok $f_B$: \:::$f_B \leftarrow \$ \:::Postupnì pøidáváme $st$-cesty: {\I (vnitøní cyklus)} \::::Najdi $st$-cestu. Napø. hladovì metodou rovnou za nosem. diff --git a/3-bipcon/3-bipcon.tex b/3-bipcon/3-bipcon.tex index dcca2dd..81c3f00 100644 --- a/3-bipcon/3-bipcon.tex +++ b/3-bipcon/3-bipcon.tex @@ -111,7 +111,12 @@ $$\eqalign{ }$$ \qed -Dokázali jsme, ¾e libovolný øez separující $v_{n-1}$ a $v_n$ je vìt¹í ne¾ jednoduchý øez skládající se jen z hran kolem~$v_n$. Kdy¾ tedy sestavíme nìjakou LU posloupnost vrcholù, budeme mít k dispozici jednoduchý minimální øez $v_{n-1}$ a~$v_n$. Následnì vytvoøíme graf $G'$, v nìm¾ $v_{n-1}$ a $v_n$ skontrahujeme. Rekurzivnì najdeme minimální øez v $G'$. Hledaný minimální øez poté buïto oddìluje vrcholy $v_n$ a $v_{n-1}$ a potom je øez kolem vrcholu $v_n$ minimální, nebo vrcholy $v_n$ a $v_{n-1}$ neoddìluje, a v takovém pøípadì jej najdeme rekurzivnì. Hledaný øez je tedy men¹í z rekurzivnì nalezeného øezu a øezu kolem $v_n$. +Dokázali jsme, ¾e libovolný øez separující $v_{n-1}$ a $v_n$ je vìt¹í ne¾ jednoduchý øez skládající se jen z hran +kolem~$v_n$. Kdy¾ tedy sestavíme nìjakou LU posloupnost vrcholù, budeme mít k dispozici jednoduchý minimální øez +$v_{n-1}$ a~$v_n$. Následnì vytvoøíme graf $G'$, v nìm¾ $v_{n-1}$ a $v_n$ skontrahujeme. Rekurzivnì najdeme minimální +øez v $G'$ (sestrojíme nové LU atd.). Hledaný minimální øez poté buïto oddìluje vrcholy $v_n$ a $v_{n-1}$ a potom je øez +kolem vrcholu $v_n$ minimální, nebo vrcholy $v_n$ a $v_{n-1}$ neoddìluje, a v takovém pøípadì jej najdeme +rekurzivnì. Hledaný øez je tedy men¹í z rekurzivnì nalezeného øezu a øezu kolem $v_n$. Zbývá ukázat, jak konstruovat LU. Postaèí hladovì: Pamatujeme si $\forall v\neq v_1 \ldots v_{i-1}$ hodnotu $d(\{v_1 \ldots v_{i-1},v)$, oznaème ji $z_v$. V ka¾dém kroku vybereme vrchol $v$ s maximální hodnotou $z_v$ a prohlásíme ho za $v_i$ a pøepoèítáme~$z_v$. diff --git a/4-ght/4-ght.tex b/4-ght/4-ght.tex index 5daf909..bd5b8cf 100644 --- a/4-ght/4-ght.tex +++ b/4-ght/4-ght.tex @@ -103,7 +103,7 @@ Nyn \:$t\not\in X$.\par Doká¾eme dvì nerovnosti. Nerovnost $$\eqalignno{c(U \cup X) &\ge c(U)&(1)}$$ platí proto, ¾e $U \cup X$ je nìjaký \st-øez, zatímco $U$ je minimální \st-øez. Dal¹í -$$\eqalignno{\d(U \cap X) + c(U \cup X) &\le c(U) + c(X)&(2)}$$ +$$\eqalignno{c(U \cap X) + c(U \cup X) &\le c(U) + c(X)&(2)}$$ doká¾eme \uv{rozborem pøípadù}. } diff --git a/5-mst/5-mst.tex b/5-mst/5-mst.tex index 387b662..e0f9364 100644 --- a/5-mst/5-mst.tex +++ b/5-mst/5-mst.tex @@ -70,7 +70,7 @@ pak lze od~$T$ k~$T'$ p \s{Dùkaz:} Podobnì jako u~pøedchozího lemmatu budeme postupovat indukcí podle $\vert T \symdiff T' \vert$. -Pokud zvolíme libovolnì hranu $e'\in T'\setminus T$ a k~ní $e\in T[e]\setminus T'$, musí +Pokud zvolíme libovolnì hranu $e'\in T'\setminus T$ a k~ní $e\in T[e']\setminus T'$, musí $\check{T}:=\(T,e,e')$ být kostra bli¾¹í k~$T'$ a $w(\check{T})\ge w(T)$, jeliko¾ $e'$ nemù¾e být lehká vzhledem k~$T$, tak¾e speciálnì $w(e')\ge w(e)$. diff --git a/6-borjar/6-borjar.tex b/6-borjar/6-borjar.tex index 3d74260..e8d0adc 100644 --- a/6-borjar/6-borjar.tex +++ b/6-borjar/6-borjar.tex @@ -92,7 +92,7 @@ Tyto trojice bude halda udr \::$(v,w,w(vw))=\(H)$ \::$T:=T\cup\{vw\}$ \::Pro v¹echny sousedy $u\in E\backslash T$ vrcholu $v$ upravím haldu: -\:::Pokud je $u$ v~$H$ nový, pøidáme jej spolu s~nejlevnìj¹í hranou vedoucí z~$u$ do~$T$. +\:::Pokud je $u$ v~$H$ nový, pøidáme jej spolu s~hranou $uv$ \:::Pokud u¾ $u$ v~$H$ je a $uv$ je levnìj¹í ne¾ pùvodní nejlevnìj¹í hrana z~$u$ do~$T$, nahradím jeho záznam v~$H$ za~$(u,v,w(uv))$ a provedu $\(u,w(uv))$. \global\algcnt=\itemcount @@ -101,7 +101,7 @@ do~$T$, nahrad \>Správnost algoritmu pøímo plyne ze~správnosti Jarníkova algoritmu. \s{Èasová slo¾itost:} -Slo¾itost tohoto algoritmu bude $\O(m+n\log n)$, nebo» vnitøní cyklus se provede +Slo¾itost tohoto algoritmu bude $\O(m+n\log n)$, nebo» vnìj¹í cyklus se provede nanejvý¹ $n$-krát, za~\ v~nìm tedy zaplatíme celkem $\O(n\log n)$, za~pøidávání vrcholù do~$H$ a~nalezání nejlevnìj¹ích hran zaplatíme celkem $\O(m)$ (na~ka¾dou hranu takto sáhneme nanejvý¹ dvakrát), za~sni¾ování vah vrcholù v~haldì rovnì¾ pouze $\O(m)$ diff --git a/7-ram/7-ram.tex b/7-ram/7-ram.tex index da0a06d..f637144 100644 --- a/7-ram/7-ram.tex +++ b/7-ram/7-ram.tex @@ -177,7 +177,9 @@ v~sum \endalgo Slo¾itosti operací jsou pìkné, ale nesmíme zapomenout, ¾e strukturu -je na~poèátku nutné inicializovat, co¾ trvá $\Omega(\sqrt U)$. +je na~poèátku nutné inicializovat, co¾ trvá $\Omega(\sqrt U)$.\foot{Svádí +to k~nápadu ponechat pøihrádky neinicializované a nejdøíve se v¾dy zeptat +sumárního stromu, ale tím bychom si pokazili èasovou slo¾itost.} Z~následujících úvah ov¹em vyplyne, ¾e si inicializaci mù¾eme odpustit. @@ -240,7 +242,7 @@ z \>Rozcvièka: {\I nejpravìj¹í jednièka} ve~dvojkovém èísle (hodnota, nikoliv pozice): \alik{ x&=\0\1\9\9\9\0\1\1\0\0\0\0\0\0 \cr - x - 1&=\0\1\9\9\9\0\1\0\1\1\0\0\0\1 \cr + x - 1&=\0\1\9\9\9\0\1\0\1\1\1\1\1\1 \cr x \land (x - 1)&=\0\1\9\9\9\0\1\0\0\0\0\0\0\0 \cr x \oplus (x \land (x - 1))&=\0\0\9\9\9\0\0\1\0\0\0\0\0\0 \cr} @@ -359,8 +361,7 @@ po~$b$ bitech. \:$\#1(\alpha)$ -- spoèítá jednièkové bity v~zadaném èísle. -Staèí provést \ (výsledek se dokonce vejde do~$b\log b$ bitù) -a následnì \. +Staèí provést \ a následnì \. \:$\_\pi(\alpha)$ -- pøehází bity podle zadané fixní permutace.