From 5651f757c2b5a9d030e2a7f92d878a723143c3b7 Mon Sep 17 00:00:00 2001 From: muratbiberoglu Date: Wed, 13 Nov 2024 14:30:32 +0300 Subject: [PATCH] related topics to ap-24-25-fall week 5 migrated --- docs/data-structures/index.md | 4 + .../data-structures/lowest-common-ancestor.md | 32 ++++++ docs/graph/cycle-finding.md | 37 +++++++ docs/graph/definitions.md | 34 ++++++ docs/graph/img/kruskal.jpg | Bin 0 -> 131539 bytes docs/graph/img/mst.png | Bin 0 -> 5868 bytes docs/graph/img/prim.png | Bin 0 -> 103047 bytes docs/graph/index.md | 25 +---- docs/graph/introduction.md | 22 ++++ docs/graph/minimum-spanning-tree.md | 104 ++++++++++++++++++ docs/graph/representing-graphs.md | 89 +++++++++++++++ docs/graph/union-find.md | 48 ++++++++ 12 files changed, 376 insertions(+), 19 deletions(-) create mode 100644 docs/data-structures/lowest-common-ancestor.md create mode 100644 docs/graph/cycle-finding.md create mode 100644 docs/graph/definitions.md create mode 100644 docs/graph/img/kruskal.jpg create mode 100644 docs/graph/img/mst.png create mode 100644 docs/graph/img/prim.png create mode 100644 docs/graph/introduction.md create mode 100644 docs/graph/minimum-spanning-tree.md create mode 100644 docs/graph/representing-graphs.md create mode 100644 docs/graph/union-find.md diff --git a/docs/data-structures/index.md b/docs/data-structures/index.md index 75c5bdb..6603a96 100644 --- a/docs/data-structures/index.md +++ b/docs/data-structures/index.md @@ -29,6 +29,10 @@ Bilgisayar biliminde veri yapıları, belirli bir eleman kümesi üzerinde verim ### [Sparse Table](sparse-table.md) ### [SQRT Decomposition](sqrt-decomposition.md) +## Common Problems + +### [LCA](lowest-common-ancestor.md) + ## Örnek Problemler Veri yapıları üzerinde pratik yapabilmeniz için önerilen problemler: diff --git a/docs/data-structures/lowest-common-ancestor.md b/docs/data-structures/lowest-common-ancestor.md new file mode 100644 index 0000000..225eeb8 --- /dev/null +++ b/docs/data-structures/lowest-common-ancestor.md @@ -0,0 +1,32 @@ +--- +title: Lowest Common Ancestors +tags: + - Tree + - LCA + - Lowest Common Ancestors + - Binary Lifting +--- + +This problem consists of queries, LCA(x, y), and asks for the ancestor of both x and y whose depth is maximum. We will use a similar algorithm to the jump pointer algorithm with implementation. + +## Initialization + +As we did in Jump Pointer Method, we will calculate node's all $2^i$. ancestors if they exist. L[x][y] corresponds to x's $2^y$. ancestors. Hence L[x][0] is basically the parent of x. + +```cpp +void init() { + for(int x=1 ; x<=n ; x++) + L[x][0] = parent[x]; + + for(int y=1 ; y<=logN ; y++) + for(int x=1 ; x<=n ; x++) + L[x][y] = L[L[x][y-1]][y-1]; +} +``` +Note that we have used the fact that x's $2^y$. ancestor is x's $2^{y−1}$. ancestor's $2^{y−1}$. ancestor. + +## Queries-Binary Lifting + +Given LCA(x, y), we calculate answer by following: + +Firstly, ensure that both x and y are in same depth. If it is not take the deepest one to the other one's depth. Then control whether x and y is equal. If they are equal, that means the lowest common ancestor is x. After that, from i = log(N), check that if x's $2^i$. ancestor is equal to y's $2^i$. ancestor. If they are not equal that means LCA is somewhere above the $2^i$. ancestors of x and y. Then we continue to search LCA of y and x’s ancestors as LCA(L[x][i], L[y][i]) is the same as LCA(x, y). Please notice that we have ensured that depth difference between LCA and both x and y are no longer larger than $2^i$. If we apply this producure until i = 0, we would left with x and y such that parent of x is LCA. Of course, the parent of y would also be LCA. diff --git a/docs/graph/cycle-finding.md b/docs/graph/cycle-finding.md new file mode 100644 index 0000000..a63a56d --- /dev/null +++ b/docs/graph/cycle-finding.md @@ -0,0 +1,37 @@ +--- +title: Cycle Finding +tags: + - Graph + - Cycle +--- + +**Cycle**: A sequence of nodes that returns to the starting node while visiting each node at most once and contains at least two nodes. + +We can use dfs order in order to find the graph has a cycle or not. + +If we find a back edge while traversing the graph then we can say that graph has a cycle. Because **back edge** connects the nodes at the top and bottom ends and causes a cycle. + +The algorithm that we are going to use to find the cycle in the directed graph: + +- Traverse the graph with dfs order. +- When you come to a node, color it gray and start visiting its neighbors. +- If one of the current node's neighbors is gray, then there is a cycle in the graph. Because a gray node is definitely an ancestor of the current node, and an edge to one of its ancestors is definitely a back edge. +- Once you're done visiting the neighbors, color the node black. + +```cpp +bool dfs(int node){ + // The color array holds the color of each node. + // 0 represents white, 1 represents gray, and 2 represents black. + color[node] = 1; + for(int i = 0; i < g[node].size(); i++){ + int child = g[node][i]; + if(color[child] == 1) + return true; + if(!color[child]) + if(dfs(child)) + return true; + } + color[node] = 2; + return false; +} +``` diff --git a/docs/graph/definitions.md b/docs/graph/definitions.md new file mode 100644 index 0000000..8815460 --- /dev/null +++ b/docs/graph/definitions.md @@ -0,0 +1,34 @@ +--- +title: Graph Definitions +tags: + - Graph +--- + +## Definitions of Common Terms + +- **Node** - An individual data element of a graph is called Node. Node is also known as vertex. +- **Edge** - An edge is a connecting link between two nodes. It is represented as e = {a,b} Edge is also called Arc. +- **Adjacent** - Two vertices are adjacent if they are connected by an edge. +- **Degree** - a degree of a node is the number of edges incident to the node. +- **Undirected Graphs** - Undirected graphs have edges that do not have a direction. The edges indicate a two-way relationship, in that each edge can be traversed in both directions. +- **Directed Graphs** - Directed graphs have edges with direction. The edges indicate a one-way relationship, in that each edge can only be traversed in a single direction. +- **Weighted Edges** - If each edge of graphs has an association with a real number, this is called its weight. +- **Self-Loop** - It is an edge having the same node for both destination and source point. +- **Multi-Edge** - Some Adjacent nodes may have more than one edge between each other. + +## Walks, Trails, Paths, Cycles and Circuits + +- **Walk** - A sequence of nodes and edges in a graph. +- **Trail** - A walk without visiting the same edge. +- **Circuit** - A trail that has the same node at the start and end. +- **Path** - A walk without visiting same node. +- **Cycle** - A circuit without visiting same node. + +## Special Graphs + +- **Complete Graph** - A graph having at least one edge between every two nodes. +- **Connected Graph** - A graph with paths between every pair of nodes. +- **Tree** - an undirected connected graph that has any two nodes that are connected by exactly one path. There are some other definitions that you can notice it is tree: + - an undirected graph is connected and has no cycles. an undirected graph is acyclic, and a simple cycle is formed if any edge is added to the graph. + - an undirected graph is connected, it will become disconnected if any edge is removed. + - an undirected graph is connected, and has (number of nodes - 1) edges. diff --git a/docs/graph/img/kruskal.jpg b/docs/graph/img/kruskal.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0112d6b6864957b60e7942ced8830ae3a9e9373b GIT binary patch literal 131539 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%0AAz&@$ z_3q2ESIhYQ<-^ZkfE;;JBf*D)p^a=^p_-|=B6Aqtj^@;BjLeHKWtMQUgE|E+p7bBM z769TzzjLaqH|J?D!6!>XZo}0egKXTj^;MKgWB!B8#fmE^%j#inBi7WJtUOpntmS2qnQiz-DFxytC(PHXL&`Azl|>rf)}GlzNIIRa+-EqWRGelDFvUVf*=q%9Aiq&C$}6S{IM>@e2ul=kGH z$byn0(!SG}c11#?qPO>z^C02nON^%)N?_%h#fwycNIr+UNV(9*-kJg^hZpT0=@1ra zB-M~|_^a~*Js4WVDnE1}Rn$KBJR0!dxB3bx{H-KKwo#=XS!pVHlhb+-Q$KC?>R{uI z&yj6J8p3(srW{KO)-q_Kl{D2-SW)f^_2kQwF{-Ib&4*Em@3dqCC-}I^_KbgQ{+g&d zZV3he`6!#z(hq9xey$Je;!?Jl%@Stst+uuewjiJzlve9Kn6LX!^QQS&*~%`?>*t2g zc>yTu-?7l2Qq@1p0;7xEY$);RDPzc>3SaTKh0GUtcM?e2LQz9L)hV*JvtXGle(GZp zy+ld;!JhvWrC=Q?Q%7H_+N+NVUJE)iov7$bcV)~iy)NHyc%tqV`8nU1k^82NsifvZ zOvKOw4NI^(oRxCSj;DbVmdRW;t|PN{_EY^4TKJn`kGbQ3-VP!us@zi)&Z|yFje3Zw z*95eFr@K%DlkZ!du}sFFBOB6d6wRK|yCgNzs4$e!YQ`x7fbRzXmY~fZm=e%JA+9#m zdl9p*S)>&^iHcoQZxhY1NR1OJaYx%k3Fmr7U1u%Wt-6RkLe|QpwGvgOEDnqh?pvO$ z`uGg-Txq67!<}^6B~({|>kQ}hCEPMzW0V}ReG*C9Kg$w7l}0}F6*&O;x zJ! zwj|BUW)NQMhOik=ptn{Uh&6oB`J4a4R^w*LkNSCt-dnP$Bo96Wj~l1)J}>?wx&}_$jB~YD$6~^6oomyTe&C6^c zJ1Iy{b6Pg?5qYAA*eCVQLx%8_zpN=DbwP($Rwu`+!CTYsXmGZ#B8Ji@2G53)56X@w zG*DEP%~paMN#~Rms-Sr@(Z&w-xAqqhHTw&JKHx3Z_=ep&OnV+ontpiLtESfd`KL#! zK)`Kj9&NP_1s2x!9}S{B5@`#fF7`= zO0_!IsyvhFJ?v>RS3K=)3H7ODPh3w#63zDQ5W(79>w+2lVV7+k_n!20SLJR`kLp~i ze@inv-u!Rh#_teW&erwDU=GyWYO=h^jxX!NiE=rjQ`F`zmIw!w4pObl%2+Qlpe1Bv zDtE8v1YV}q8i=enAgMlBWpA~HXv2Z66Nz(O+fx7|9@A4y*ZV>Rj3Qttf8T(9&+IzI ztC^^IDhgmSd`0J>BghPIUno}wDCY4&RG$;|l<7Qgk^yKK3Titm>*nH8ea-?=PK+uO z*E1S!UgVY)#fwp$RxG$W71^vO0Hk&GqbSd-Jr}%^Ktl`W%oRqbtgN{Ax4+!<-%Yf` z!~O~Vzv7=xa;6;A7^*iq#Lm@pdx!P>vbF6XdUpd!>vYs;8j?)D>l7LXR&|1A?09Q^ zQMF?R&bJZ>sVa*p(|Pg?g=bn^l%l2^J?a>SwJ-iqG$(sjsm4TgeF@P}lk^D@4h#=v zi_xm&o&n86DhZpxwqE?5PGyrpYUPI=mN8@Tz16XR30X|Bbq*wUdusNOLVzD*vuXs* zAG^%eW79Ju8ghp!08)U@&D#6kx?Ga!aVv|wiBo4;nMltn4q*btY`5BEq&qLlFQQ0s zi~1-Mt|SucCT+I6y?ePN2CawF${X*Exlol^?-fcq(N^B`1*MXQV`Kz}JUuX^a&-A{ z`qlOOE>gO?Sb`CKE=jOSD0{JkQo=-mr|t(0F6zaflgU5#KmHFO0e=US9Z7dypKdZK zszDUsYL=vS=dKl|17=%WGgve-|Y((N)gg>@3b*%-rRZJR_ozy4*5?dKYI z;aPjF(lIfb)1$?&u zJg3*@lu`u|?WK%DiIF&R88wh(4IsHjEWS{(vxzhjB=%+c1}aNZq9GK60xY$yMN6F| ztPY=FSs<5e(WiKe{$f=V*H=;(pVsr;DX+xwUK80>{hjpbZ&xC0^@bdldKNPc@9RW9 z{7J~+Io^--oleM{JJCwOj6v8}UxI&?aS!q+dP9b%VF=*Ci7EcchZb-3{6H30(;DW{ zix!>mJFg*TbP6l_!>hT%-@!&#o5X5QUr#Y-F)9~*Y*NH@&sYj=h!t!|8I4~pBB z4Su%M3sh9}VSLXd^%xU@p`$x=^O#7~Z;>(Vz&^xs*(Nm|+}POKQU^q}qL6xGv$WY= z&q@N3$t=fy1oROpus=CKWB3pX?ISL}To_jB6ifsv=9>g%c}kpSjTp*HJ@>4IKAsEj zT3)+g=egsnKbV^G)zwjk~3Ek1k^Ue`@pm+3EftsA@t>&_KTgfa!f>pgudu^RWb{+Wm$W z{DS)z0(4PxhJ++7kBXwo5^cn$s#6yBZ!ek-l{7TEGBKJdv9R+GZ_m5z-&(E{2Ai=c zhZ@Hdqe`O9nki$8@)@+GUCj*;c_-1wU99tmY$arp9%i*|&Q?)}i^cZLRiRkvJC^y6 z68OF;%Nip(nibtb5VZ0^*)^|0o2wf9(?2U~h4W%Lz>OU4!CMtrR z6u3Si^fP8%22xA`=X}{W=2~}%{zyY>o+V~EpyW-kw>xnQ5>v@P&*ZG1C^E*z@Ii6|?edTTRC5AB3Z>YT`#8mT)+LvJw z-~iIC@`#+B;t+NgVOmqsSZlOhP2Z^3Iii0uZ2anA$D!4??5RNd!axEgZD#V!5v=QL z`_b9vV;SeunHKv4frs@Gqyg;{9HKXZPLfq2+?Rm&^MEhuTfg5{c5fxO;Z64`b0;I2dvNEMh3&IYQyv& zw(V&@nQI#LSiiypTjGwzUn+bHCx1(ECEN$6!-1(YOIj0oo{F+gOaGXzAhV~av9-Rj zzBqmwrj3F-CV!4<{v|~@^9NHDfyeQppQRv4A=YpX(`r!9Wyzj8dy8e2M-=*lqWi&6 z{>6fs59S}4yf~WKR39uvG0zdcUI4cmSt*k1yLaP~5E2OSpjM9r*Q}evG6d|DrIOLD z!g1;Y#(VKCClkz#;$`McG+u}m;$*>TkT-w5Fn{f0|72h}RVO4Q?n~fs5@*qq{hgOs zb#q=A-H0z?`s|-%ehEyjS=dR3fGIl(LFi)FWunb>YC!v4caW*IzUQL$eCXPlQF&Xf z(OC(VW<`T(jBeSN^Ks_t;4P%cmnmn>5d?RYMc;L*bgz{fIm0kzoi;-}tuC#XPv9m> z6ro!h?Nr^?2ZBk@A?bE_%PI;8xe?UJkl|hh(;_!)ufkbMoir-s)qTZ%LhdrjGAbCqF z&g6}BF@O<)P=_ulaJ_JGF>%xcHJG4r=OMkU7FT8L5lKKe>e+w#6#eu2hI*3ZiM=V* zNVLVoq@^Aj9}?Lj-8e@B zEoLX^e>Ngl!7otMK>fw`Bk2bmaROGa-oWr+bzzRUjf4-ON2nM->Rd5qgCgH0Z;j~p zonZ6a@Da6QHLK1BR}A_pV)>Elz*=*!zIXc?PdJL}kUw`}ju#+hVP{BJdP9oVY9g;= zVMXKb+OAKJI-myQeRXc9=fy6~Lj5jcJ7j_M8W`DrK3oEDZe|qSNAP`i4D^(SCw?3k zZg?-F-v-o>5?oAsw1s_r!gnU#9-3d#iE6~(8IoCJHK-btiG~*Y)L%@T?(LmA`k?j9 zJ&{}yfCI?zP*ek@@4$k>f(NEq97)Qe1~8mp7pg9E8YhH2F%g#Y8f1Sl#vwtE8Lp-Z zdK{#bG205MN%74V4RN79>l;6ov1{JmGY$^TDsp8ieXC?1`(h~CRVVe8ln(P-Es-8R zcXp%eM-J9Z#>g2RF;ve5amlVE1608CV{;qE^^yKs;@df1{8R6*T;V*dV`fyp>sE`E z{n;-g{$5tZ&iVm4lk^5db?y!T52_WzO}7IlEMW0%gG33OKm}6xRFL+hfWY-+)z|O$ z-Y}+}!od|gpAph)(u3YBs@D}{c+L%b;&6v7T<)-xndcVCNMC1sm}pn%;IwzT<)?{t zc-$f`3`JrPXkXZ?SJ;q6T%Brn&AEosEN_T3M+~0$Dy<#kddX8-TADSUPibtl)o7oK zuq&7(vxl9dSWczx2isdUI@b?-bc+Je`u_Uw`r@H z>aw!@fyI^YbO}ZKUXYNaAq26Ufy$me#_acRy>b)ANDZ_sO#%%|TuB7@A9SDmM8;zU zz_O%6+^8pgC9%{q5t8dw6DiS}O{RPn4Yyvy`UkE$1iB35GdV8Mcoz5iy&zb)R_6_d z#LxOANf&hBSB(qZYV=oUrnPgk@+tBy?No@viy+2aepY515`&xzJJVAF*p(k?5<{$h zI&D!6l@Qd^fS>1o$e5o30qlUo__OFr$ z+=U16Vi>~|+kwZ5m%yYt8=~X4a$5616(Qq#F+xJ%sk`Xis+jqPhF$av4EMr7>;5lmqbU*_W@%t6ZwT-?-$>lS?q?GF9$ zKQ2L(r80eak)9+~WO~K>tAA3n<8;Z9LFG zRAaxTtiguio&U(ARx`6{0E@Hq$Wdj=?>eHbv`5Je@ zq^%qw@1)?M1SCp1g=r`1;NF|OU)E<;1+9F|#T)z=9TyJp0;<1y0k|OP zc#2QGlw4!(jgH;^kQb1O+Edyo{vn>uWDIJj6i-DM=T6~z0ypHBhUB7t< ze9Os+PXy2>Y7u$b&U_C5iex>b7QI?2U)J|V!}2FxSy{1LxEneLSYe&}CEel|`dqn< zVp>1yUQ=#}+6)4(&Y;qf2^hGfcD7n+oKES}3l2X1w=vK@yES*^S0@f1%t5Cm!)KM` zCjLf93TTs!{%xD=m%epR(C0(6PI4roRK^|gSk-xCw>Lo-k%DrKplr7o$5J$v|kGt&p z;$GZsxl%oBeNw_Xij74kAx{r}zkS1O0wu8j!Q&#vky={_bX%-lk3B^U3~`7I?XR7- zux{K3*mvQeg2gzh%OGMwqi^4|)oPhKe_$??O=a{3NcGDg0U`dtjWL1;>Xrca?0xWb zc9tqJ4;a}@U{&3+VD|gZ-HbZ`pFok@J9D|pb}twdZS<{_QGkJO5poHwZmw9dH^iOt z8FJuVNnS=OTWDFF_7q&&-X54dNT_Xku01BNk@v{LH@@=D-JDJ2NvoOpxG22k6DMsR zy~v{#7$Kx#!;xB!QuB0^4c$5XDN0K~C#`!l4&_i0d!)eC={w!3S0}$G-0BEOe=vOD zoN4pIT+x5eV5I^?yd_|ny53{6o%CGk}3vy7x}aH zUW*8oiDh<&rex`iMoDcinCg2G9c}u|(BVSk=dWGa-tgcz07jOmCf{M>?&H1I4}tn3 z!Im>&*Jel5i>YL~sJu#EMyexke`yPL*V^)b)0+Qwg_A?>#;C*ly64Rk#{qh%fq+|& zCwOxMRH4IgL+#!XqJfXh!3MJvBK5{-Mc%keg3Ee!5oTq(&I64p&)e7Rbxg=|G&^K{ zzayU8*Fh`IY9K|s)udTcmP=+O5^n`tlNwAiPMjft{O*fOkcM)iq_!f#rm7nP(z}Sd zxE(!?jow;}6?OO$RgM93aSXCAnSb!YHJtx^#)s$ihZ*+zRv+fzIic9zMpY#QK{M$) z9ghTJrCMYI)W=000CdtiqO*5_;in-=JFU`HmCUnv0PqBD(!K&?@$4X41R&=CP`Uj( zZ%(8(DlIe_kEPEAUw_5!`!VHS*sP<_m4N30Mn{Z4@6F*0xi^C^9^l(oXpq6p<@cc~ zoHFCd%Xh%U?2Kx^IsiuZ({y-_GuCRk6XUj4Xx;8sU7T&&pDVvAyxZE)Qf`SZ1=#M| zzvcxgfdlfj2U-#uVnjtkU2P(qt{5lGF`4YqNtrf_vKRF7aP2$^dVjSN4T$D6$Z5{U zs1g_YY{+i_!2MsH<9viU7MI*u8V)F{kZmt<>7bNv!8f) zDLAIH_--z=8Y>GD%q3ClTkd+G$lTgdiEP7R$3!!}V}7v;ACt9Pu85vG%o_2Hm8vQ7 zWY9j2qG(aRn~Z?cng&Yjn;M3@MkkDi#kn#oS-KGoQ72QJk&gQ_*h_|asvD!S))l+g z^nrMwpt@j$xC5TalbNB~KReJ6+ytZ%e(wsjfaFvdltc|CArzL`m1FidP@9Av6Z5Hq zIYB)k&PSK>qSVX<2)8=cdQ?V5GN|{>R#mJ9Wuv1{JJb$~;Yx_wbB0lrmh!9S!~GYk z3`EjHUI1xDECZD(dkB!L=#f8wegfi=&b}1n_piiHk4VSHsyF)u@C*z$$ZrA)K`Z=AHA!5O${j;{w>d= zg!bQ97T=X@7X`2|<-l1@#w9?#0@gn<1z;&^gF%*==adlUDMqqU((hg?@WhJxchZ%s zUv3h(4^BGxryka|a!SgitUTWkFF@ITr2j{SVn$h2U}}E%76bI{_Yi1!Nm=Mo?=&IT{zPA zDTAyFgx6^B`XMIcy0$L_m}p^Ptbe{g)pNOXxu^BTO}k>1iC$-LsjJUrIg3WOUVq$H zw&bK9Gcxa<4gBapmun|v4ir6<>gA7?DotXBkrxT_oCaiHWJ-~CqFe9I4P?cQ^LMMx z>dxsAa@ih><(ip+GeQmp*kRId$8|Rbysg~aqCLsA(kira1LknGhO0QPADOu2HnZOG zD$Nw`WHYr}rg2IpyO|NQt@Ou2+6T->yI7ZLwgiVT4PicyBch_G&fWU(R0|v^U-2Nl92RpPm37>7?ndsEl83Ya0m+@-4ZQWKB2>i znOV*2EqlI`R*I(KAigW^(&+S`=tGs{VJcl-hK2iB7+l z%UrY({tzAGtZtUmIEZ_vxf_P^xmyr+BgMvAF6ugtntncx;q6vf0vO(xTG_}&vDUxZ za|D*9U423Ki&^h@NS=MkyRL*zZfT3Y)2$r(Y&Vzr9?EanxxdgYR~7i^W^GK4c-B+b zfYR*JdxOwk@y_dE$zJW)UiE%(8{6=J$;?3+D&O{<&OJqw3Id_}n(Qknz9SXw3yo)V zr>!hfyDn?)&dEL5c&boX6U*w4`}lZk-%Q}{ve03bLKjEhGsz z`J2^=<5Pm}YTa^_K2Ig`wI}YE9^p@mAASgrF12>SGG%kogH=Un?e^3-YTzsQXz&l> z604>)(w57giv;tO4Enn;vs(P5n77TY3NOK_|D6A@5J<@Hieai|+2D9u5_5{#k>~k2 z%};Z9u0bmxY?gcifD4ymn3L~_({gYI2=8DA(WUW*{QjRT+sD3Z)_9fiAyMQu=7LWD zR*y{|VG(il!&xbrMiF-|ow94_0cq>0$P(v;3?Y{_-0jVP-Hs4u(*%>nZcfL<-dUw) z;?gnPqQ!7Yc0MuXbH};^fKA|%O?KssvMS?Dw9-ssCqp~YQ81QUY2fhgm+^` zFB+?8!bbkBzDKmA59_-m0<&g}03_&mynHpQd8OXqnECM5WxLV59J$@l?ynctjhUSW z+7ftL&p(f(GtrDBS#RGrSH6UD{FhfIx5IP$!jD~|r6Ci(K$ByYl%>TxYG!4KF+@T6K~r}(@$N5cbT zGM^k-j}PB#V?b}c_@}Y04_Gb=R|2hw)On?Ltg>TW5_ii&|F&EpY>BysN3@Xrdfw5k z6LYl~5Eqdl9)2Xy))%V|a9-d*cSptDZd~vzwCrP4AxfFLUvfP!c2`I{o*sa^W1ifk zyG-{pPs?Al75|4^?l!N_OlAz7HV=jH@jYVzZhX3|>`PR!R@k@oI>GblFFDv8o=s!I9(S{BzcPF3k%V`c^ZECq#q<)pQgP8dyf|-oK!VRj7Hv zt0&APDY{>D2@oMgdIo{zeme=yH>a$F7LPB=cIup;xI0{F=CeF4uU%qaJs|E*^uPSr zjG13kQ^@><6r}7ofJ2+?2BA+7j@;WUDR@mk>L1aIvzOU@^vd2k!lQU0%r37SH6Qf~ z@UbFF;jVtno8$NEGJEQakv%vY8yFAUxe;srVdq-t2hJByESQ~Af9=#Xyr<|=J2xB2Sud3e z3i@8dtp}y-^TwylK?Su{m4}(oje}Y;ZVD+jcbU^5*&iJhu>5~|?9gGKDMd(G_MH(N zck_@(a=W*)FFWXHVF0%66PCeF%JdRKkQQ}Fn|t{4+O9YnSyOB_o(nwAEl>C*ZQwN@ ziYm7{(sf`(#uXz&tcJulKL{X9y*w{!B8`NsA$vyG5B$WYzX9VDztu&5T6~+o9FF>D z)70NgIckfo&!A!pwXj1Go$C*^qK+)l-us~OV162L;{G`0%T6N_AW4_*`y z*%JGMr`BKh|G&*DZ2rDq_%FPKK2;@E8Q_H8*+)?J?vqEeuMb}MA;E2Ne`&aY-hJ-X zWUS4Fp?tTsJ%FyChF%oy>r>^2!w9TdcKd8p*Menp--2wV5wC~UkZJpo^P{qLrIpT( zJ~dm{#fcr?&>p5=f_}oWu2}sM^xOZInf+eLxD4R3ELyHp&YM{oi-$s68&D9Vd`8LL z-i1Rub43OTi_LuSr>iUG3~4?%)9sYq#+a?D?#fkbM(y@$kq)U}eFa=_5%to87M2C2 z2o!C#(kjAswUw4tk||nn&&w^=nJ*Vtx+^MAO6`-?_THPw_?l{hWoe0{l1i-$HI&mU zTE_jpR=2k|x&}KRNJ?B#Pc+_wE@mWEXw%u5YPseDz~24Oo>7e)zaG9!6)^|*;0(9x zVP`#i*flePG8%Ej{i=pM5}=J5`~l-@UkG(Wmdz}q45vSIUsv;X=jpi+$Lzz$1%M%6 z{9@f$$MY8_Z+9gz^T_*3OoJu^j))Dj-@@zFry%7K%sRDG^@_j0>=Fuv5lc|;4 zJJ8Iv>^p9E&xt3FN&PiKuSE8pX8{_!fL0q;V5U(l;!J+b_W1OcYaKOoiN#o2DKe_jf^2c%#Y-+AyWA?880V6L zw_QC+IaV08!4dm<{PN%->*o(qWhrHlMj!$i*2NaQUfPaBV6AW2+Ov?YtaRhmn^zU% zkIzJ*Z)jyJ#gR_u*uJ7>=!{54h=~__u9Y~xTJhK5<$BNTaPeQ-r)AO2-Pwft(>0|{ zlt&>MZ;NK_zk}jIF4zWPBQZV#NNM>S>A-@ zncfh{mpQ_|`g+t0T{%}8-K^hue!h+}Pncj1qEZ#9i9tJymyc)<07>^yw~Eb>CogTJ zzlzW)kl;CtZh#%VrrpuLdXlfHF}?WYS>B{*Jtkf3@^44LkZy%w zL~T=+q6>Dm%k*wkjt@wIs?}Yt!-|sKmxm&`yG({QuGBklit#++U2Zil{?*l4!>P}R zr!4^aQ)<06C8RNDDL~_y9)C$BLLkGFi6xqk(kF>F=8gB``)Z;NHm5j)FHq$jOUy!` zR2WUq&o8iKYFvE(bNY)7Utf-y3d;yS)?oo@{n=>2s`JD$ca`!fcUpB`3(H% z-z)yHQO449(`;_FVIY+Qk<-&7mQgh_Fp7 z`C&?UHhy+wi=aIo*nD;6;N_!H7kW$cc5W%NADd2oWxiB^G`p_dRUn`4jHJz=CmQ$B zuPgE=b1lu4iY~X@Nu*omyMK!#R;;9{TMDcyvC580*a8@v(o-hKgr~tjT-r0U7th1NUW=RVMVyY$`mRPu;p4 z!4bRsV$QUxsoLXwYd8Hu)wlT&(Uq33UG!Yc4$xorE7To@+`8T@ zBWrWrO&42W;j&#PiAq**${*_VEz~CLspN@c4gn>ft@TQ9+MjI1UIk9MlVvi%Lh73G z^qsoxGgPUpoSNGgtl(t$`H<)(mpGYj75*?`HZ@r$%#X!NX)ZentJ7}D@T8tb16(kB z`Hu!fu~$loqul*s2#!;1`RTeHUD(y-g&sTdP*;{?Y}@X^!F3NYpZeigGl$s8qD1Y1 zx4ch8AvWdyJFi8s#2y=CvSz(4u}62^U9YpQyBRzv>B;B1UO6#`&Z|PgPrBZFDGcQ_ za*PeQJ*X=f3h+vP`@`-D&-y0av&W2o*jL9g#ER8npc48r-#lN)Mbc9@-Z9MlVNEqY z*H%<)mA50(1LK?zBHkWrGViwmm8878tffN-`Z(DX2NEef3ocbf02 z(8C{C@&z~*o=o4keVco*N|(LTTV3S@I{2HFCYGm}1vMHWa|b)3^ac;5=BbsAZBF0r zJ>VA65}FrtADBzgu?C5IUgk;{3fOqOjJ0A$!tJASX(&95U8N47zvG`@ z0r;Cby@)usxooqPdpYU7#AG^(X1)&7t7GY$L1V);iDuvc&0pGmz$jQYu@ThEY03#M z1SBvT;|RH*)8(Qs zBuATso~2(~Hab&EFfiR7*}TK=nCSp#6d%zqQGK5U?k{ny)zjxCJUZ8avN`%_JO0P$ zuPk)*r{hF|AT>k^wC_`M)-iym{DYMMEon3dycFOh;+f42 z64$;iOZLu1n>`@s-UZ+^2k6tFy%&=Ei2y83ksAJ;&M35Czm4^v6To3*(tt^+qT53U z^8h2DLoK%1-~gDu9L@m|-Mfc@g5gviEFb1Gs>$Q&_g zi};KJ@LMz8s=LYJs_R#qxAlM;?*H@)in+)Qhz#1^tK7lL zTWgrq9$LCi=XPjA?UoHdoaFgZmg}m^OxlgL8kBfU4~~e;D722lRpsJV_w7ciPs~P! zji1Vt^%yH(%mCP$iAVnsH-%4Y))3h+C51EUBS1#EN6G{9quwb}2nI4GPe z0fwLflFI`eVn^0s$SB+kr0E zODM4p5{w3rs##u?`_|y9Qs`RGK~?dz26`#ot>(3Jed;wDNOSg*S03ToR}V(bN$^CJ zbg?|a-gp#X@!gteG@l#)OjXpZ9=wMfWPK`IH@d)DBl=Fqi5sa1v$sY#-Kwz!ryMv$ z!8t7IbobrfF$~Hv6{%X4`qovU6?X@;?tnl4yf6Mh{lt`?THxztPqkmPn2?vU0<<~v z`*rKfJ1@U1E*73-j6$0tk)tf}(2p&pX5($~7Vn-$CA8&$Z+@XO24H5epQg2(30cmx z>A_d!4S-&F#(YiX&^j+tZ%WI+qC-a1p*n#-#+IA=npW?1D%mp>4q*=FjVf#AUQvM! zNhnRA;emuNZZ|H!Zd4q%)In_N>IB2wgCFLck%sIG%-KP?Dxtm?u~+}sx5eLXOj9=I z(TbuFXV?XJ_?C!;Vl|4o*w!p1uxJHIQz)w5juiyb1d1E4fzD;=eG)z*oYPx5>0 zSBesc`Xi8OeB$pwkP#+`mS#Rjh$T{Kk0nX6klZh>L=rH z_jG;zQO)&!q`R&2`PMV`v)Z$fw+lHBnb_gaQFhX|BvlV=#@o@ma#?1Sg92A#qkwQ; z{PeWz*wB}(ua??acI9$?F|X9A7pE>~vV#m{tyeIGn24OaH&4AXq`Lt~wM9lWK14p~w_l@1m7!;*Fs% zLCW15+eSje6;cI{FJhT!CA7Do?in#XlFMdi<#T;Kqao8S;``oX8F29eVLI@Mo@KJj zf#e<9rRkStrWS#LumW>JV4%o**ePK{)iW#5Yj*lBlYka$+Ofc&%2Eqw`x8q(XSkR zZmIsGs?aE0<*>a!iHqx_L#uJ{aRR#^iZl%1&nz;Hp)al6(qo2>*Jf$lx^yoE4AvgF ztr>xdQgu$cCS53e8@|y!I&CzBRf)-)dRquD*_93!n(o!8tuFmR?wX!R8%3-6w4-mb zG+JK{Tv4MA03~glZ`Z9f8r0nqYs=ts z6X{(WV7%p|DAZ~Vp?Z__uYupxQmX5nf5>qrb(-$aLoV!_j}2+#@?!eG3MeE58x}mf z1RRAjeANXt+53h42-Dj;Y45U*V=60FPEs6>)f_Fk zUs5Uh#?z-!4|HyKprKUH+52e!w3-O^LBgPVBDa_k!$(KQ*1K6C^0AbK`n8Zf{kr>b(aR`S#mWi<{{_%(M3|JDy%`2V1X3*i6t$&Bu1R~$SD$0kFGclge%K5l{qdWv5*FAu&XrD&Pn&n`c3ZUllhZw< zQ(~INl)x(&|G9*wR2U)S^PP@r!J?XCiZrscoOG?JOCez{iJjAP7=2|yKL_tHT6RE0 z2FptAmoGjo-eHELNRXFnAq8-v#krcZeoV;mjO<7jVUxTTC9@~o&8U6Pax4J;5dt_0 zeVV0R$3kw^jU;-?Q|*x`xY$DmBhp1iutc7lVFzQ<>Zz(tiR+?40&>2_`wZlEwSi)# zGPKgr^m3L#tiq+>b^xZ27jCnLJwG%1m~;v+QfgTlwzG%G)>q z#c4XQ86CXt>G1(<7ZD<{_$f-osDr?M&91n)L&dz7j7N%BPThvC%NFIQf2V`KdCqtV zwKG`NLcH#|jD4ex9pu+oiz>hWYdz+d2FdSfnmJQyNXa4A6l4Z96xWR$=W7jW4tA(= zJzF)LgIkC+VL?Lq>7#@eY>~6cU`8p(t5p^2A*Dq@lu{ph1%Gxr=Gx5CcxJSQ()o5@ zk8Lt9_P7pD;&leytM`gyg`>(9^&VB#XtTp5tlZ4u9nw;E(4-cTnBKQ0LL5S`MZVg| zz$u!Pnk-v#Z)l(=+Od&4dZ^k(`D54<25Erx>+#bOk{@aXKIScc*n71BTid2eB2aOLBFi)$I-K!jvAW)dBc}5v}kDeEIGu3;xpuDz6iD=)Ngr3_x_=2xA#HpgOM5Wn0pjZsjp&%bS+%PEfsF7Qh z{*o@O1Bulr%4?fVXa%(tFoXUS6q^6OEe78psdJ^W-UxekaG_sj15koXY+Oe>7Oo7s zURwVobiY&B(VtIyBDq1^W`p$cZ`8L#=?O_OTh_HYKr;nK5)Xh%d}@ZZ zCBl6J-}`cKSBF22(&aN?>;6QZW&O|!SVVRjvci1ItqwQ1+yovnA?yv^x>f3TxFHj( ze#^SSwAc?kKQ0lCf$x}9QBW^&)_v*~UaBcHyh5Jl`_I$Uc(n(bU)4i6e81C0yWPfz zko^`u`{~Q4In_6jxAvFL;L-Y9t^zWrDlA)8zI5Gwd|@<7bN;~K1IBh?gS&?mED)G| zjf%G%{uFI8vI(RvVxx6-O6E=l-j0l}GWD?QE1icc1`S^jo6cp^fmd#*MCZc;^`B|= z7vCGI#DYaVonh?n&mY!f7kMnA!zO=oFjg5O8Wh^{#$H{Vru}t@}IOdc=)4-=+aE zS5ut@n=W^07&94}?YgzJn6w&z-rw1HoxV`&R9~AMl?JEldhe^G9^_vlvcuuor6YDP zYyw1SPF-`KGknb}9=apIRJ7$QD*EQ&8DLcfFA+jKL+I!pmNEIdEn+Ss-*|o-$>qo? zCFIiK)^oO%SuecyMgUUy?Ee-i{I73}VN6v#sJ__k{Hke;Zw`#oKk1gPGy_h2WXL4j zqOQbxhVGF09Ge+r)+U_UPQ`%CH|;c7BGJ%8!g(7#6*qgw)s7&< zRRxNbS{c%mDyUxA53q40`f}XJy3DFLJ#@Jmf;#QX_t3JdmC;DS*7LSpx_SZEUC7Ws zl|vf!NvYIxJ}YWQ@;pUIMY|$2G~nD(A4|S*>5ce8xUU0nnzIEr^uSKd(EJ zjvE=wUJn9;DBrR_0$kdkF;q{Ru`R?6w;gL;GI(fwe7qS=%9d$u9uciKHHt=vK4A+!CI|;!%qo z@MwrBGK2SNky}xjzDqu^HA$0Z{}0P3>EiUD-5@DUpSP_TTDv~J%+GJ3sC8^^0jo$} zjHlHQql(^T?A>)Lx%+tx2bc5_7~Hg>=MYA8ii^#2oF+!!&dy%T>y42zy|{@ z?f=XN=wK-;@P0T{ugDpd_eKFr!UJ2e``eYLpsVnwTCu(I=Umer=m;_ux~`YbY04+M zGEgxRU8RyDR0w3G%AZDAOdV-x>oQg!IJaB9tI<%;1fX+JTr&X9S80BKW*odRZA?Sz zap-ssnG8476i(L^kB;9NC_Z6{bPlvgEfIfFqHnd&iRhjzGa;DM(yg5DWD)LCtZOhx zuKK5B7|g=?t4`9L>WVGK@OK13*#fXfDC7xsl|1gPT$!%LB|#k{5SD@ZcH2?Cb4T`B z9CS~LJJ5l(KJIzZpcp{ff^vRkd&R^*L!HtT(Usm5zt)-Ow9Mz6Urmnr|CoF4sHWF+ z4HSDtY(WJjN)ZiBkRmk#(xnqh0*Qds2uL>|#0mleQX@f#bVz{EJ48jKOD|HlNJ0~k zgkm7X`*ZI-b7oJucV^w0b7n37VWCU%@s;;|-lz0@=#YhSLpGz^kZvUm4V-kQ!t?V0 zx?lU4)jpN;ZPwFV<1d@A!X}ewNet>b!v=4;uzuP9q~QWW$2@#$;?}{iTdDl9jpuhi z6f}rdUoW;up1^>O%NRh@lnj<%s2CArl}gjywif{FxD|_+%|aWj zFHh;CW73tB7pF>|R91QQ8B*nGuKTAi=8xD*rpr%sv$(bjML~i2S2a9OdcWmw-%aGZ zY!srY2|Ap4NA=th$V!*;Y!?$l>qIl0+VTBhvKxps#x@(2-W`0#K9Cf8aoP|3B?(Ja1A5Gdf{@0yRl0(*O&JdIMmlC*p@%V=m_}i`W`oIM@|8dEvV$zJt>1ZSm^-6 z_|+xT7yTN7Dbsf;u38tv)3bBJ2cqWdLN$7P4OQk78@w0^q))Sn?!t6R!puqM;h^Nv zfm!$c6PKbJ-6<<>+OSp13#Eti0q~{TQ%mcCigI9dRqXXZEM!~wXNb+;^?&;PeEf!A z*&;EF4kR+HY+E@|-&KQ|e-P_JX=B4S4JKVI+W9;gQRR7P6O3GIiCEVwcQbwBd?}at zq)sIciwxMVCT#cYvw-sUO0GcKv0@al^x|-+1O~{=bFnG()i8px7>irLn9l)FcII?6R#t)7cDx~=Z{8`lOXgw9r zwX}u14s~MU*0BRykOrrIpM~YNg#}=j`c3FjE{wPIF(0>oyNnSP^tPxkQQZQUD**`Z z8G-GrCgdd3ml?tNM0UszCz8uV8N-tJxR2CXyNPP8MFD3Qwp>wZJ~Y^4Goo9HxS94P zhEsJP2oQMv<$=hD()-xPqm!)tN}T}4w8a8EZ1Uw8y!07e*8ARq#U*i}-nzyty|qa( zW^7wTP&VpPdgmcNVsJ;X+!8JNm*Dr1n4i%q^SF_$W@;r(zfJ)~3&wHfw{vQQl-}Yx zmg_=o=#~2)f6*q3Oay%7lUl{#-DVH>WWg)Bk*B7KfOl=hKc_At%K|HyYFivrR)3o0 zN-O|1(I3F~xO&|HZeA4$z+Ld?ZE$ zED!|RA8UBgBdpk>2XCHWpFZ4_GqVl3Kf8VX3w0Q~WxfF^5#zxXV4pt4ttI-Gv2bgYWK>A{=< zFR^>cIjpDCLcNK~PFBxlvl|oYYu(T910*;SYyox!WK|S+FnAcDaf?blF2>rv+Nzu7 zohqqZ21M*#F6is?EP^TBl1J8Tr`@wU|uxe&*qgz{KmEjcGYpqEK`p;bGdoLddt4=?0*B zzuSNa3`yLe?_4)Z+&BVvVdW@ws-Ar^kbKioT1#;R{1Dj9O^?VPA?H*uC(J6N&N$$O zj!k?3C4Gh-e|UbZaE-SQbYtpI5I3OM{3~yxT;#;a++fMXL|f6wySmJnnjI`1z?7v6 z^>1zhvRDtNxlDV9e1|FirJp`kZP~n!-8IUzn7j7t)cxldMZi6k6FYd_#Bm@wa1}JGV;!eXWMvkOAAP%x~YbR9NvWD+UiLvQ{h_M#d2+ zgoeKhq|;3*H0p-T?z1q&pJ+-yf1JN#XJ->$G}+FeZ9I2mg81WdB-oBL&TK8Jm34d@6M`{*4wkO{gl8mHOW ztKFsJM&-?je0e8W6t)JAuN!rsMTom-`<}kOIZ)ugkBMvg4Nm&Q-V6Ra7IIByg>D68 zx9rk7fMq0pEUl_C=|)WJ*#{&6(#|uMJVyhj$cLl!mYL0msFhVN9@z5|4hKB$QnLwd z-W~nNTJ){TKG@&zu21_8-mtcWY*;#mPhFaMq>*^QOvxne@bl-8Gup$C6wbne|5V!z z{LlD1k1Odu5UO+ekniBKvSRJKcg=>CQHa`wNAc9zQAB=h6+G%rE)04nx5;vj)%!vs zf8r)%e+h3g!O+0Ixw#wh#gpCKGs8B3&`~PEUd}b04QaVHlfe<)($H}F#}&bfnupK6 z>vz@>OY);p;~7HwT1TuKgpgM0vo$#cUpGv*i`-z!_I=8G__QVqW=5+;kxC6F^BD15{5VZaj~Na zK#{BD5EoQ4mB)pLD!TdDC>2aZ=V5|3y#%6`%^ykRHg(;C&krIZZoPkTj1M+F`Ry8M zX7U=Q-Ku{rNhxKzm3!vnDTwfZuS;lwN9JfJg$#8{YTh_%@ny?HyZJpyoK?Z92>)=2 zRZpD-JmCDQ2W0dTr3{tm;0f!o)`67hZ#Pc9ZbGgQ=h-@}mvo=a2}&S0Aqx?2wJhut zrI(z?ill6gB-Aj>_CItpY zg#AnlFxmER558TJKIwvMyHu*yOeBTgwNd#u*dRQ4=yHb_-K8p#Qy4zl`R$Qh6$#rgA=~WfMxh&c^0%oByZpQ8l>3X z>Q(?8)>Nt1&qE-aeY7rIdWu+GrxTWHk&wVounLhW5v7F}1fs>7h*yvA%#Rbe$_F`Q zm;deP_4EDb-u~lJ1JFp7_7w%(NBoN-8qcAxERUZb6(optJzT#b~kuv59+Bo zFBJuu->e{mQ|~i)Dqnumb;k39%_p@hadyu%yS%<^%~57vVQT@@lR!W90;g-amg0D2 zB>9N>`eM}sz8Mzfd-UcoX)j~njNEiHo;Bc-?HcUUi`8ISn4FTFbMZY}8IV}**k5V+ zS?y!bX#0vLQGU!uR1-R`!G1xSc$>RBJn+wnDV9U8ln5@g2;FdXq8isgq08#G0AJG| z9EUas?pHD&GlPQsgU&6+hu&bUKeKeHi9zbZD$#*Y!4so;TY95gEo@Pk>Aw#nF$d>i zr~Bw#>|N|zKR9y7PyL<+PqdI79IEKEnoz@W}e6A z^-n_@0e5(4oZ{=`# z(?tykkF=MBR^+=Ha9PGrnjb*1w_iw9w>FeeZwu1vIpwbdJ}y@9s-{`+eT=F=hTtvO zE7FT=%>t0TL`b4@&0=CTsI`I$8h^g%lKV+dRk^$kQXO?YGd#h^_k6;=aY4=7zIR|( zn@l`pG2x?aNJKxY+4qDYA7PhnVlft@)ciSo|H776i@7x5LK*^LOp48(aG9tmEoiG` zdkv^HloO3uHzDQ|M_`hp>Lx|+WqDgz*|ApV%z#iK%m$4>&Bo0XsBjvH@VeZmrd_G0 zZ}-n;p7}*3eYCBEYbg_YfV^=t$QcMa2=_Fbp%dCF8gBLaOe)Mv67rCZ=LQM(m(GS> z;VI>uHCt?ChBg7=D!}{LR98DQ4(^z6W|YOZ1wP~ndY&WYp#j~8+4Cs+qyl_vO84lx1I2%a-?vW82UGk z(7#>cbh45@`zk|`d2W~hnf<2WOG9`X;Wp&%N7g@o;`>wp1*eI}9dPR*ohslZMp3G5 zMD(ibLV6Kd#g(y^U+=`gF*hz*Y8*WNy4EyY%*+DhzAxIeFC#G7Jc_pkmR(Y-K_fw6 z83~YguldBw1wi+fqM7y{RH$<6^fKgAqswb%ykY(vRqb_U>fT6+3tn=!jRj3qk@`)U zVJ>Gchd0F1H*on%mA5KnMa-pLW^7m5*uvkB4F6G8maA`SQrxq;kYZ{QuWs)GB$Gek zPR}iD+aYRr{k4~U(In^|d}OZSKHU)qxF*)>6s(H5a}}m2_`>j~+po+t9paEBT@sGo zq&QfFxGMN=P<_{$f$&`qp~)9Z(=M#H)bA(j5|7K1CO)0tjvh(f^Mm7g47+!V?7^yG zHHEz6Mc3*j^xr4v5<8*~?L&&oCJJmeV^bj;qX-gu!MSiz$f_XQXr(0tAoK$c9KXXm zbmzLQ47OFUIVSYu$XfmQ$Arv@nHC zQK$RsV&xAKi4YxOz#q;shdM*!3uEFkQ47JSD4)KszKY`lDQy96f;IOW;#x>1YLZ|s zaWTU(Qh3Q2(2IV+O8MxYUQ;iT-iZe-E$^OM0=ezE zO(v7)tvjhGNho!plVDHIaPQ!ki zFH3DBg%8C!vkLd|sW}o^XkM+;uSJ(dKNf48bd__8`D7vuK2ZyaTrmsPWUNIM&nP2W zB6E7JE z1}U=_Qtu^X-UE?PW}4a8Gmki*i^Jsz?=k)9Gtg3=Xb8nrta(tdR4x(gf~?fk(YOBj zYTP=7S;$ziQmMwBSJJJuq|2Nv`DCn)KpqeH6v$ck75YTl^@=P?tsJ(H#qAdizoDFD z0N7t+B`BhqJ*=i6COU_IbQZ4LoIAHsX4ILDs*C5+^~THFCtma@o9D-C&Is6%vwZ$h zYiBp%2^{n38IFoyi^6Y^ljt#78kW`K?G;Pn*937I7uzXdCA$6x8vp&w zVazG{7}Kr>3@|Obv-@%9$ljzQB-!+nhaB|6QbCns@ajDWTn}oo#+ccVZIP6QDMWso``w`)kRZU>(8|tpl zE2kr%3`nruqhxK1zZYBd2b(b5aCp(`tPB0NyB5sL$G|ic2pXy$Uh)(716CctID#`> zm|4{HKn%9y9FUC@4ZQ0XbQHlST3PO;h0dd;F(%p~`Fg{t;()_L=HFEBc7$729+5k^ z<8A?*C7lH`>c>h+b3z#>Zm>#iMJMbA3nXNAOXglt<$U(MC?V{m)7n0e(Fei_&%>`0 z9D!07;1$Lc$VOB3au*9e*Y&UY>4R^U)+CgC zoVd+p{e^JKkD)bTDgxO>BYf10n2=l`(bC)wwedvQ9tq1XPf&&0MJ-pF`+JNuS#nWj z<7msW^H5yy?V5hyqdx72m`Y3xceyCuuk>E;g`%o(#XzDSZ&j=_^F~oYX~2 z(q~J@fF4GkYlc&$+pE`IDepCE{;c)|88F#3aV2)2<~;$>4~~mKZ2$~1Qh`A6YX@^; zMyB*%mk*R3stvvP=$e>s?d7bPXonk`em^(_?SK&L)H~&L;W(MeYZEtyxHpC3hqA{x zdCbEOSiVimkxd^=Hm@SJyOY<-fewj659)d;p2-j`?xJxiwYqpq!?6ROBTaZMKTq3f zPs}?TpX7o~p(dpxuS$p4cY#pM>pNJ0P}?4;CzhT1Jyti5YxR4SABsqZpBU|lRZ$rx z$pddo-DCPP@Do?gXt59e;MmZQ1NpP-<=EaoIJW8m9?{Bv0#Wbq2$Vp2{2_@m-2@JB!avc%moedaB~1Mv=r(q(xFW4 zu#(l=?!#^$_i=s{FpE7)U zdl&QO3*E=8+)0q_L@-0MRyb9uoassJk3pH1*A4n6zs%ON(tr9`>-gJ~A6-MNvJK(d z3A88>RtHlQD`SOMuZRCnwwNTAL zS?96fUlXg9E^g&-WxbuK1=!1%fzsvPMr>PFcBQLd>SPDfcI}Jsl)6f>zgNOH>d8Fd z#0U)mK~b-ul4%IT4wR&;T-*r8qUC;Bgref*tn!-rL3ZA`{-~}UI@fZm!Y{o58>C~h zXz5TLi}YZ`$ox7|oxWZ9(j%+C?p=lPIXk-lnjm`PY~c>&N4i!!*>8|1&w85msfu_q z$ww=p+yv^vAN>3S~H{xy>f zy^^w2+A8JKW}RedE6V-+R6dE$ZrjqQgA-O4jgIAgn&al)NFy4OL1ivNX!Z4nO;+50 zIkzibRz_ix4d~ffzSHAU`lybyG6N)&8tg1t@HFu_GiIof}iK;z#IIK zjdI0rlUdWx@wZb|2YjyawwiMf@o#SF)Fht%!J+3Ww|DdNBH3{*2$M2Ubt)x$M)29O z>ICG<443c-CcQWP#r%uMYiN9s5?>0?{=H+Dqr}*^*eI0Eq*kEAg&w8tbZ#E^OpDkA zw~>j@S{oI;?A~=Y9U1{LW7V?W1M`^#zKcCd%jr_t2&giD_ zh739``A%JrL+9lq8T-NT^1@$$G5z;E7JvfB{9eEOEyBNxspp$JOrA+tioWHm4sem^J12_ zZ(zD~W#2?$B2Mn{{N|Ikm{H>S)uiftm3Y|&;T#Rv+Rtq?L&4wVuceE1ghtk>*kzWS z&@lDPm^WV;+IDe>+{e6GMO0;m(q@4fr^gjco1V9ywB8vq_b0zK!APAOg60p(cgcN? zTrroKRzCI7$*gZ}Sq6QaH@e3_V)d=>f|hUKy>Bgj5%ysDxvlvCnaZo0IaGr`nM4!Bv;nN%!AUtDTaKYS6A`v4eh^V0b(s9*0bq ze%2JR`Ot#I#J1m^Eu9Z|)qAKQ5S}D1gJAEFf0=Pi<0RVj-KCg&9}=LI0$23}quO#_ z5>LSTM12dSHZ=P`pW<=P*j<53TtrH#Dx98HH|WUMgscSC622wmH|VqaKC6UE$wcCk z$O9<-0nusXPLUzcxh5a8Z;A5vn(tyU`@{`TLbCDx@vMlng2aL>=S_!4bBSG`r>jTR zk3Jf7ReTb2eX2mWc;6J@T)PZq(te`P{w7Q_Uu11IB&pdOwSjjl#eK1Ea;d+)lWdT7hIg3_UoudEam9B*#AY zm%mE&bVZd&)F2VFx*_TME zdjnF2Dr+)35uQm&K-$V-U$X6s7z0n6aac+C1hgB@x$u7WepQ*LSbleHvvi~+)cTkA z@8?dUj^BvYCXGq{Hrx7hyKBamkU0nEPVvZePL$nrjB`#+$$A>Enaak@0Jo)16J#5d7zaOg9K_9;^R8#FO z*mv!^ypF)}k26z#<57_3KZ{sl#;Fc3VcLfz2PP(~i{^3dljTbmBgd-F_^k(!lo4nu z-CM&yaloqc)$Tz{YSqkKhF}{}T$okQYD_&KE_SC}AEoJJ>y(Qi&cg#+HDZJ+Q*Lx~ zzdjO0YIhyF1Ct&Ek_Rw8jZXe|k7P*oHfxosdtyEHAH7BIci|&UlR@AUo<;_cS8Np1 z$ueql<6{H*@jRZLb$rBfj$b3*rRI)Xr>)cTco(YoytNd!?z7LDG3Tvr!wA1$)xV?X zW*Hr+HYE(%R~2&4d-QgHn;1rFsLGU6Nny5lg-4KlIg@KO^vFg5sVU+yCbZpa%-VG% zF)V8g6Jb)Wr|e{^ciLR9D#6*_@9t8Md7XW%)9h+%!l)Nk$bq&sEqBVDu1TN{Oh$zjEq*gm*&u(^XmZ8!4 zR%*5(NuSPZG=GjvVE}Q5zoZqAS zAyf1i=R>^x$pc#kRm85A`hZE(xK8fiTTfTJI`5GqFl4owoIJF9xgMzEmUd!S4@Z;2 zeW|uSZ8gOb2-yzU4p|CA33a73&2kS(=L()$OWjIYF)W(1=aJ8rl*T;iuBT0svnOn1 zGO@0j=B6~qce@t|?7oz6vDv61d}$(A)pV{SzxL?V?+Fk-6?+o0i!_hY$}sPh2A}i!nEQ z_`1LcGGQ?zBTSE0{8_(>m`}4vo4(jEo=v~R7h3Qi9I@dLPas@<^yB)Fy+(b%&nT6Z z;HD*VGX?T%m8L0=jEdl!w-6v8~ zS8^Q$?Do%k!oL4eKeJal<+88Ekoku(v=<^P9{(b2PapilBEOnL&Q+e;QliB(N5?D! z;0XTLj653G&U4Xli4Q^h+S#{ugPD;%o@NVL^vXn~dKv1+hv~yE7CcWv0-5=4wiSV4 z_yi1G$mFZbIz9)aVVF5*0gp^2d)s@+7UX3145M0)D>v2H+&v*`a@1;fD&G5`mWoLG z*XOV^KsAp6LeC5esA3}YEfbZyRd`->b~vZF;_kI_d0$)p*4q`w+;7*MNLLck^)fKr zDz^_Wvf=HtI5E49M6y2jOwosueDz>a3kLm%OVW@JwMcRZm(RH8s1bYSWM)j& z;r#qds{8ErH(BD@uwaXe2Br8py2cE3;{MUJV~b2xTRss*D*bn%q1j2@{iLt)ZDw3nn$ z(r!*a88}Xb&i*m3JSu6&t*wxwRk4@tUcjs@efNR1e!UorfcnFbspWzFcAg=(J+!=H zZW~^QWq7xXZ~=c*S=HT|Vd)2)@E9b+ ze1Hrdr1X2xCeWn3sAZAVob+)1JsL0|y(X}gZOqVl&Lmv#E6?Cm2KSoZMcz%z{jwln z8noVI;T&uVY|`B%Y5|vFPoir;qd{3nx3YrQsxf+XDo^4+8X%PcRlrK-u!`tHA1K)) zoLU_gIN2H~u57AAp^NA$_3XU4C9sf!wUGPnxyC9NPZPQ5Upf@5hQwI}()?!qGEKiA z)>YwEz=)2+TC#lRYSTbgrrR3qfp){o)zCcfaMJUqNdte&kNU3&b!V0R;E4Cz_`$K0 z>ne6U7#P(3L^}aq?`75-)|(-6`4=XPX=X?0V!V%CfcNJuSYo{1x#Q#nGRCUN18!(5 zu4Tb52U)r$T>wv`eS05$MwRE{Goe%$YG5bAybcT8(Z-ZyOkrWRVqIZCYWSsRAdm&< zrp&T1Q>*jhRa($4gTd$0t5_YYx0rV!8PWNX`WvGln>40j+l1wDa$=b>RMRSNfm5NE z_xkEwdyfXWFFfbhpYTtEq2CExfBLd{jm(b$ci{LpI*?Yq<$+Bn5s_*iM&^w;vUch5 z^1UQNHRLR2|r__-)xX!%-e{Z=Vay+*X(nyh_h@m>k_Oxh`NzPpix$B4T zQ)nDnF)@+IwzWOVXq`MA0mZcKuV$V#L_#7ZNoU5ap?j_U#Oq)?=RLLzxkSfXUAv0D z3qM?6D{#!Y7QgU_Gu7nlhzu9ax#YPXT4DUK_))||_l7W*g?5hV5T zvN6CWwBp|l_6#pUC!^7$F8RwB^dj`0IJ=9{j0L^4&O=(}--MX&eZp5oY7~gwVtc-0 zx-Ib_CR+}DQbUZ%yX4ScF=TdooiKNkeA#n$**SRM_7L~M`oS~lRpIi##5g>Hah=Rn z7Z5lYVj_D!Dim~oCWGz$2@@NHVC?!Rhi`~x8oT7{y~YHfPrHlx^olL*A%%Kuk`&e&*!&M^=>G-u>`d1T+)q%uf znaL{}%wlHoaqRPJ3IJ_IdkQTfZgo@c2GkMp$(&$Sox?KaI*t1RoA*yN4~WdKfIqFX z@H0Jf74b1b)S%wE<;^3NdnDcxRuQWlK-%m3>XOq&kZNO7Rh50BQwd;ZLhN}}pwAHj ziqgL$bM*Vy^Ad0Ol&6SvD8N#y(oj0H8csc~SPibd`tHK;?`_ID80kw%O;O9@E zM*-=Fzo^nYw#buH`HdjkhG6n91oGZ5N zdqk;#03_4@;8SR2{u?g$FDBAsH1mAPYzIqqCTd2byc=Ni)g|T5HMn*sF~wu@D_|EbzbEyjqYe#IxD-p9 zvT!D*;sdl_u&fEmrJ2@dAY|Mhr_4WT4;Tpo>){&8!n%9v2Z!ePvS>Hff2?N57PNy> z$|iq;F;p^gP{9@`YfMCY1>J^uWJ!|%=lb6WhPU&6L49upFN#CffoFo; zVR`35MQvHNjaJ)ccz(;bBHyVmE_Tp-AOVpaR9;ij0Q4cfF#L!E*V$*T`>z2~ihn?! zqe5STU-GQ2*I^+P$a7OB`(CUK8lIqx<`TEm@1;%q1mZxO1qJ8}+taUXf#mHWdZ-So zp}UR}l!@787GW(5f6|S?!A}${j!#sW$h+UJtAcOF#qgh+h*>;+@Wdk`VQ%6+J*psA zBim&&)7!>c&)dUs?6#%2Q?aNxe`QL%#?|-6+c(0-;~vwuxHSHVx&9fx_$xHSB9-kB z45uU`n>+a|8hG~6+#j4~Vmo%|2?+4iC(IuV7>qNC)$~{28qWRV3xkSbrQ$y31*I({ z3SVcv?>^W_^APQLo4U{To8hj-1$d`{QAh2S@9?PoO;+o`*800oOo>zMwcGdX*BoGu zQRmedw;EIuA#CxU#W#J~!f&(!E(C0uRFQhWF6Wo?`qcI< z+0~ZC`K0c%viFF)005T29SjrsH$D?-T+>Un!qkftCU15S(olH8!r#Oh>7dh-IH@(@ zyDL|>q{%>E37H?UFX!WBieHx?Z!T>4oBFvjfIPlG{G?^~ah<70k22SW?T9b`*eU*Z zJP&`L>t=p+rb`8br7yJ8nV}t0l&ns%{5x(hIs=0OCBJYM@ z7pj9PbuDT#MJu-JYxYhW z0e(oeMYWN_n$w>+CIdCBuIOW&u{iG zyJfjlG!V#&jfc7}?{$g<*+-s9O6m7ORkY+2Cq*!&28`SAn3C{7L?_RtzKD5It(ny# znO~ds%Llm_-gvKO{u0GJol^n*dyp3Svm@kbSrTRjdeN#qH`vtmc>QEDE6q7X$0zBw zQr3WU6)smJUfPwv=;%jl#r5$!=phCyTWq`S}Wu0Xe!k zmAx)VNnGeY*bTgeq&uxMdX2OI9%kxYJi|EuR zchLctYm`=zD@g>UH3qfQpxKbq8FD#W=+P;X~#t_2@;-O*dLiP5iQ8 zEMI-R@lgn*5JD$k7@PNl?_*8N&>~QMvTXE_LtoW4Ilnp0r4uB_%h=TbdA~G}51l!O zo#7LgJ`dGtB4M}@Dq^+PNPeM~T!F>RzWn6v5I_e(T>0zA;*SvN&+nQQy1RW{%&x1A zu`RFEOvJoexe;~6Dk*H119XkV)%%0vs*jBUqdl?HKFGn1Ham@Lm)p?U|7caq-D78N zl#5^_ejM&#l@alaX2IFJO-86BR3e!+RLsyySPpr}On$vr1;yYnX=(XDb_jTsTAtaT z8I#h@UWZ&8hZ(k`Ix-nVlyd+ztQ#sRy|aj!+j0 zB$_vBj-N#KZ88N~Q({7AdHG`5p#O`krmT0;a@>qdvGM{hK(~Ewsf+AV#hn3$*PmwAtBsfUw+3j43>jsJ6HQ0}?^di<9==7|5{fGl*jvKvLm?g!gRTWe2JWH)&jObxjBK= zgWjg$JZ&93y_Mv;YXN+Ta+XnNN|jb93la1qlm!nKlvlfl{eTbGJ= zqowA#SCCr4m{=1l`E71!WL_sy)FjQ8)YpLwN} z<(ft974mMgF}?X5TT@d%p1#$&e+wO6BEhu6Z{W=gnSohqK4(r!^EnJ1?pD8MYqVaW zO_J^*Y)q5ykk`}K>@TdC)vDqcB5m9zqiFG`TJ5;w==O>B3Q=9&>N9%kz5*}a zeY_?ZD{o_!>7bnnK#@?~4-VWW7xm*KY5k*mN_}k`_=~eMnR+eF7bJHJVy{3Hf zw`;WxfT8|`>ih(G{xz9QQRF@b0nv+`X$cPQc6Vfr_Q8S_&+&7k&)M~~iv}c=zkg*H zG9DgtC8htZ#8R-FbHadu1(G#TzsME=!z{QuO5CY$sv zV?`v~@3&HC`4(E_42Jk@yU*`QeLFm;w;%{E-ZFhdS&4;?Si`;os~C)Cy{)f66NHCH zo2iOrYhva4{)3T1jv%W7H-SSUAG8*M^r!O~TJsX8nykzpOVBLhMYAd&xt-`R(hJ1q zwxZVp3%HR1DPM<5AUB=*Pp-HOpLfPN7*_#MF&F%6 zIx9DYad#}^<-DX4L*}(EJbiUnN6@RL6d)37SCP805&+wA72KY(+Zlg85tEa!EaL`W z*+y?`vVT6BFPG@m^8uIA&zk|Lbiy&C>pw@Jr|8i!(p?vA7KQ>G#>W6GRZZW?OfNeO zNa2aPhP?6lIEbjuv$8L=aUEkem8%b?H?}K?xOgJA?c4-Zs}eWbN2Hg?4mo26f+pW2 zH~<{8lmC5*Qp8T^X|+p8Na;_O@?Y(vzy8vUuRuAgA|c2-SJSa5WWq{3?ZEu0r$=!{ zgmTz!&*kt2D^^i=UGubpM-xh(>PnyC6Zv-dwW%{NTb>jh~@p4 z0KwmMcTf6O3lw#9zVwONmxa?X?lV!K{gIw`$Eb17M&pV_XVzbpg2SR9@03QF@>HnQ zd}zm}w>1;db>3KMfXdvHuw|M)#!&$3z1Qr0mh|~1ED___j_mVM)B|62?OCXqzA(68 z9@6cy0R7N(`b~*0@$EIzio59N6muC5eb`S+ihn}bBM4kWjHpwsZt|(X5aZyc?YaEP zb4^_d;=%!=K=@ZNu5DAfA|kzb@1zOi;Kz+PVMe6v zi9?#1?hWM~rdZ1PXpkpEixwPvbAuZXO)3bXBP{bbg@$*Lv)00v?PBUc)0L<*fcPlY zoZ%Qv+g4sK!}$hc^vky++fIuwikt0qb_%Q1+K~|YwMMFySIPY+`{j>YHxkp>x}NG> zmYb=Nd43yCBN*<>fkD4f3M|^OFQK@hA^)Ct#R<(p4X1w5g-j$Y>E_9 z#IU-S)zmF6cEgqX9YYoHxfvQdqNZ_&$RB0tl+c#%A{8Js%s*CYS4aoHV7)D5K9cB+ z?tB)6KG$Bw^Q@4E^lsxaSwjki~Ylexba!)#Eka6eL^aMG>X+TQZdjw99^ zBlpA3##xr7=7y;9Yv(*pbRL7WAM;S@9 zU4i{B-2_DMiG%_+Or$$MIKBb=Cbq>9AW_jAFiH3Y2tH*Mo|9u20Oliavmwj>@IM06 z&vufBb(l{Ba#jhiuDM>a9!TpueIjR+Yfsc(a|hlt)2X^%F~w%kH_}7B8`IU$+yCY=kuq!tu*+ZhRxc}%!{Nq~w0<7hypKD1LW$dX4ogpZ? z@YxiX2HNm!yUW=4wW(!ac9W((J8e!V7Tq`+5Z05vX8M)#jx@}{!Lf&9R?;F_pBc&) zU=*fJM+>6iYV&Zh`mD}TYlZPM+4#9cv`^G!*uvqX+73CxiRhp=I>!bKSre15bNZBi zaJYO!Vf=hfeUv>uJ7gm0-=i~?OPIU-gX0vUc}s~%`t;Y2=^snBKYo{}khrbD z7^Un;lN`CxcV%C2nx{nyMo+7{S32e*(Htc?Z{Q2QVk17~ruoaR%e(u(>F!TMZCFb- zpZ;!SmmjFln8hk#NVLOaN^pJoX#XCJUwBX=d% zLuBt})AsukjhueYqzkL!LQ~lBcN6+}$?y_Vd%M2M2x4^W+2WngXS1tP1~0|jw|eNzk}(GUs+~m{;}AL@{(L@bmHmFN(E~ zw%EIJzRjN4w*r%+?@Iuf$*G8nlInva<3pS7wO+NGBhP<1gRj4r$M;Ho{epJ)eUb3j zSSjq4)#&psS9H9w4sHdm{<4ESW~UgL+P7<}qIM~g6iyu8X=rYDCV0=6maF2BvNhD@;JKia7^;wQU2fXQN zY7S=iMThdf*SLjBsTSQ5ND1PlR^GSLwy-TrB7w?&wJ<|gp6_z-M0=bZy8Yt4x|mGoq4O7WsI!_6iRvs|jrL|Hz=jZd9-Qg4{*!2KN9JeT-sB_E zmX$Gz=JmjJ;B+Sn}^P~0k8s6`Kco6yL8UJ%7{|Kfi1rKH<@y^ z1u7rW7ltw1qe<$8dbCB|Ao!NaBkl@S2oWw;6{U7tb?5cs__!}?yPvl`Z}Nlz9FI+V zW=WSeeNVogH-^Tkb|CX%*U^fA8)3QnBHx8C**zi5q{?jP!-W15r~5B9_8)E!q74}c z%9EY2nT2N+CS?pa=NY;vnR^Ai_DuQW@VtMq^jLVkX?x8$IZ0X!iY(dVwzglO%5u`_ zc@;_Xm+nwaqC(0*{NwNC}U!)6Jsp&-vu-JZp4#iLJck_ff?5swSlK^-6eg0<3GB{-rr=#wvHc$-0b{=E{?#jBmf zW~YPOQWm42+d%lbd11{vX7k6`>ziLam3R!|96QBQlMeTWD99>7lxbv$tcU?o z6az&ZMNAlxC}AlgVFUtUhA_|u>rL%q&z;zn2+ zCi{WXfTl4olxr%)tqJ~GtWF4xIHn1&uemyVO7A|i*k3ww!`}Ls>Y!>JO5-BbdSq_U z{i5#Jw0tn}_5?4zfBltVgR30IU`&iSHwr$oH)F~^e%Yln)$;ay0vVh6LBrP>@sW=cu3>c^Tij8P*ofdqC11Xg3*=wg{Y88Q4>K4X^}6C zSM;&%M??k}WhW4$SK8pFyCuFA@23{>AxmZMZFTop!_b@a`BX>#TUY6wX<#~#mOs_qwDYKAobtcx3-FR=Sr=;03XHBT0J(-%O|SX;E>f z064VOV0@QGsP;`Rk4M=b7qmsj7K0M^WqQcr+8RKqxo0U2sT@MCDE zJ)y27vi{1WDB-1kDfjqE7r@7hYQ6Kbl^A!*rvxR5(>|E70@%{aM)BI`ba6^n6o`sb zPYLq&a*;@3eY;yIlVtasL3pPG?RQ;pB`_%9+=@aR%NqJdal zta}_04&@p_9we0Z65!@%Ra!VAa(__cb-hmK%08_htPEim?UltEUT=K=Aug28>>wnV zqLrX=HBxR;A@W++Kw$RiJkv#+ZWUD@lzADDRpZ27yPTr~AY28B_J_@V$EgIF`C)M2 zADQstA|&N7nM+=X!;ZgnrzGq%mh(^qgyQ17yyODTHiwIZA1cZjtM>mlPHI(W`fpEv E2ZFWD@&Et; literal 0 HcmV?d00001 diff --git a/docs/graph/img/mst.png b/docs/graph/img/mst.png new file mode 100644 index 0000000000000000000000000000000000000000..75ca9db67d489a2de9c0fb29a2c218a8b4f441fe GIT binary patch literal 5868 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 kTpg{?pGJa1=&9IDOht<7rmt_&{fJ&y|hGWFL#$ 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

Le9pl^urUpj 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 wY@^U`6Guy_SO)b} -![Directed Acyclic Graph](img/directed_acyclic_graph.png) -

Figure 1: a simple unweigted graph
- - +### [Introduction](introduction.md) +### [Definitions](definitions.md) +### [Representing Graphs](representing-graphs.md) ### [Depth First Search](depth-first-search.md) ### [Breadth First Search](breadth-first-search.md) +### [Cycle Finding](cycle-finding.md) +### [Union Find](union-find.md) ### [Shortest Path](shortest-path.md) +### [Minimum Spanning Tree](minimum-spanning-tree.md) ### [Topological Sort](topological-sort.md) ## References diff --git a/docs/graph/introduction.md b/docs/graph/introduction.md new file mode 100644 index 0000000..48bfb0d --- /dev/null +++ b/docs/graph/introduction.md @@ -0,0 +1,22 @@ +--- +title: Introduction +tags: + - Graph +--- + +A graph is a structure amounting to a set of objects in which some pairs of the objects are in some sense "related". The objects correspond to the mathematical abstractions called vertices (also called nodes or points) and each of the related pairs of vertices is called an edge. Typically, a graph is depicted in diagrammatic form as a set of dots for the vertices, joined by lines for the edges. [8] + +Why graphs? Graphs are usually used to represent different elements that are somehow related to each other. + +A Graph consists of a finite set of vertices(or nodes) and set of edges which connect a pair of nodes. G = (V,E) + +V = set of nodes + +E = set of edges(e) represented as e = a,b + +Graph are used to show a relation between objects. So, some graphs may have directional edges (e.g. people and their love relationships that are not mutual: Alice may love Alex, while Alex is not in love with her and so on), and some graphs may have weighted edges (e.g. people and their relationship in the instance of a debt) + +
+![Directed Acyclic Graph](img/directed_acyclic_graph.png) +
Figure 1: a simple unweigted graph
+
\ No newline at end of file diff --git a/docs/graph/minimum-spanning-tree.md b/docs/graph/minimum-spanning-tree.md new file mode 100644 index 0000000..5596d18 --- /dev/null +++ b/docs/graph/minimum-spanning-tree.md @@ -0,0 +1,104 @@ +--- +title: Minimum Spanning Tree +tags: + - Graph + - Minimum Spanning Tree + - Prim + - Kruskal +--- + +## Definition + +Given an undirected weighted connected graph $G = (V,E)$ Spanning tree of G is a connected acyclic sub graph that covers all nodes and some edges. In a disconnected graph -where there is more than one connected component- the spanning tree of that graph is defined as the forest of the spanning trees of each connected component of the graph. + +Minimum spanning tree (MST) is a spanning tree in which the sum of edge weights is minimum. The MST of a graph is not unique in general, there might be more than one spanning tree with the same minimum cost. For example, take a graph where all edges have the same weight, then any spanning tree would be a minimum spanning tree. In problems involving minimum spanning trees where you have to output the tree itself (and not just the minimum cost), it either puts more constraint so the answer is unique, or simply asks for any minimum spanning tree. + +
+![Minimum Spanning Tree](img/mst.png) +
MST of the graph. It spans all nodes of the graph and it is connected.
+
+ +To find the minimum spanning tree of a graph, we will introduce two algorithms. The first one called Prim's algorithm, which is similar to Dijkstra's algorithm. Another algorithm is Kruskal agorithm, which makes use of the disjoint set data structure. Let's discover each one of them in detail! + +## Prim Algorithm + +Prim algorithm is very similar to Dijkstra's shortest path algorithm. In this algorithm we have a set $S$ which represents the explored nodes and again we can maintain a priority queue data structure the closest node in $V-S$. It is a greedy algorithm just like Dijkstra's shortest path algorithm. + +
+``` +G = (V, E) V set of all nodes, E set of all edges +T = {} result, edges of MST +S = {1} explored nodes +while S /= V do + let (u, v) be the lowest cost edge such that u in S and v in V - S; + T = T U {(u, v)} + S = S U {v} +end +``` +
Prim Algorithm in Pseudo code, what is the problem here?
+
+ +There is a problem with this implementation, it assumes that the graph is connected. If the graph is not connected this algorithm will be stuck on loop. There is a good visualization for Prim algorithm at [10]. If we use priority queue complexity would be $O(ElogV)$. + +
+![Prim's Algorithm](img/prim.png) +
Example of how Prim Algorithm constructs the MST
+
+ +## Kruskal Algorithm + +In Prim algorithm we started with a specific node and then proceeded with choosing the closest neighbor node to our current graph. In Kruskal algorithm, we follow a different strategy; we start building our MST by choosing one edge at a time, and link our (intially separated) nodes together until we connect all of the graph. + +To achieve this task, we will start with having all the nodes separated each in a group. In addition, we will have the list of edges from the original graph sorted based on their cost. At each step, we will: + +1. Pick the smallest available edge (that is not taken yet) +2. Link the nodes it connects together, by merging their group into one unified group +3. Add the cost of the edge to our answer + +However, you may realize in some cases the link we add will connect two nodes from the same group (because they were grouped before by other taken edges), hence violating the spanning tree condition (Acyclic) and more importantly introducing unnecessary edges that adds more cost to the answer. So to solve this problem, we will only add the edges as long as they connect two currently (at the time of processing this edge) separated nodes that belong to different groups, hence completing the algorithm. + +The optimality of Kruskal algorithm comes from the fact that we are taking from a sorted list of edges. For more rigorous proof please refer to [11]. + +So how can we effectively merge the group of nodes and check that which group each node belong? We can utilize disjoint set data structure which will help us to make union and find operations in an amortized constant $\mathcal{O}(1)$ time. + +```cpp +typedef pair> edge; +// represent edge as triplet (w,u,v) +// w is weigth, u and v verticies. +// edge.first is weigth edge.second.first -> u, edge.second.second -> v +typedef vector weigthed_graph; + +/*union - find data structure utilities */ +const int maxN = 3005; +int parent[maxN]; +int ssize[maxN]; +void make_set(int v); +int find_set(int v); +void union_sets(int a, int b); +void init_union_find(); + +/*Code that finds edges in MST */ +void kruskal(vector &edgeList ){ + vector mst; + init_union_find(); + sort(edgeList.begin(),edgeList.end(), \ + [](const auto &a, const auto &b) { return a.first< b.first;}); + //well this weird syntax is lambda function + // for sorting pairs to respect their first element. + for( auto e: edgeList){ + if( find_set(e.second.first )!= find_set(e.second.second)){ + mst.push_back(e); + union_sets(e.second.first, e.second.second); + } + } +} +``` + +To calculate the time complexity, observe how we first sorted the edges, this takes $\mathcal{O}(E log E)$. In addition we pass through the edges one by one, and each time we check which group the two nodes of the edge belongs to, and in some cases merge the two groups. So in the worst case we will assume that both operations (finding and merging) happens, but since the disjoint data structure guarantee $\mathcal{O}(1)$ amortized time for both operations, we end up with $\mathcal{O}(E)$ amortized time of processing the nodes. + +So in total we have $\mathcal{O}(E log E)$ from sorting edges and $\mathcal{O}(E)$ from processing them, those results in a total of $\mathcal{O}(E log E)$ (if you don't understand why please refer to the first bundle where we discuss time complexity). + +
+![Kruskal's Algorithm](img/kruskal.jpg) +
Example of how Kruskal Algorithm constructs the MST
+
diff --git a/docs/graph/representing-graphs.md b/docs/graph/representing-graphs.md new file mode 100644 index 0000000..17d9b72 --- /dev/null +++ b/docs/graph/representing-graphs.md @@ -0,0 +1,89 @@ +--- +title: Representing Graphs +tags: + - Graph +--- + +## Edge Lists + +A simple way to define edge list is that it has a list of pairs. We just have a list of objects consisting of the vertex numbers of 2 nodes and other attributes like weight or the direction of edges. [16] + +- **\+** For some specific algorithms you need to iterate over all the edges, (i.e. kruskal's algorithm) +- **\+** All edges are stored exactly once. +- **\-** It is hard to determine whether two nodes are connected or not. +- **\-** It is hard to get information about the edges of a specific vertex. + +```cpp +#include +#include +using namespace std; + +int main(){ + int edge_number; + vector > edges; + cin >> edge_number; + for( int i=0 ; i> a >> b; + edges.push_back(make_pair(a,b)); // a struct can be used if edges are weighted or have other properties. + } +} +``` + +## Adjacency Matrices + +Stores edges, in a 2-D matrix. matrix[a][b] keeps an information about road from a to b. [16] +- **\+** We can easily check if there is a road between two vertices. +- **\-** Looping through all edges of a specific node is expensive because you have to check all of the empty cells too. Also these empty cells takes huge memory in a graph which has many vertices. (For example representing a tree) + +```cpp +#include +#include +using namespace std; +int main(){ + int node_number; + vector > Matrix; + cin >> node_number; + for( int i=0 ; i ()); + int weight; + cin >>weight ; + Matrix[i].push_back(weight); + } +} +``` + +## Adjacency List + +Each node has a list consisting of nodes each is adjacent to. So, there will be no empty cells. Memory will be equal to number of edges. The most used one is in algorithms. [16] + +- **\+** You do not have to use space for empty cells. +- **\+** Easily iterate over all the neighbors of a specific node. +- **\-** If you want to check if two nodes are connected, in this form you still need to iterate over all the neighbors of one of them. But, there are some structures that you can do this operation in O(log N). For example if you won't add any edge, you can sort every vector with nodes' names, so you can find it by binary search. + +```cpp +#include +#include +using namespace std; + +int main(){ + int node_number,path_number; + + vector > paths; + // use object instead of int, + //if you need to store other features + + cin >> node_number >> path_number; + for( int i=0 ; i ()); + for( int j=0 ; j< path_number ; j++ ){ + int beginning_node, end_node; + cin >> beginning_node >> end_node; + + Matrix[ beginning_node ].push_back( end_node ); // push st + // Matrix[ end_node ].push_back( beginning_node ); + // ^^^ If edges are Undirected, you should push in reverse direction too + } +} +``` \ No newline at end of file diff --git a/docs/graph/union-find.md b/docs/graph/union-find.md new file mode 100644 index 0000000..110aafa --- /dev/null +++ b/docs/graph/union-find.md @@ -0,0 +1,48 @@ +--- +title: Union Find +tags: + - Graph + - Union Find + - Disjoint Set Union + - DSU +--- + +A disjoint-set data structure is a data structure that keeps track of a set of elements partitioned into a number of disjoint (non-overlapping) subsets. A union-find algorithm is an algorithm that performs two useful operations on such a data structure: [11, 12] + +- Find: Determine which subset a particular element is in. This can be used for determining if two elements are in the same subset. +- Union: Join two subsets into a single subset +- Union-Find Algorithm can be used to check whether an undirected graph contains cycle or not. This is another method based on Union-Find. This method assumes that graph doesn’t contain any self-loops. +- Most commonly used in kruskal's minumum spanning tree algorithm, it is used to check whether two nodes are in same connected component or not. [10] + +## Implementation + +```cpp +#include +using namespace std; + +cont int MaxN=100005; // Max number of nodes + +int ancestor[MaxN]; + +int parent(int k) // return the ancestor +{ + if(ancestor[k]==k) return k; + return ancestor[k] = parent(ancestor[k]); + // do not forget to equlize ancestor[k], it is going to decrease time complexity for the next operations +} + +int MakeUnion(int a,int b) // setting parent of root(a) as root(b). +{ + a = parent(a); + b= parent(b); + ancestor[a] = b; +} +int find(int a,int b) +{ + return parent(a)==parent(b); +} +``` + +## Complexity + +Using both path compression, splitting, or halving and union by rank or size ensures that the amortized time per operation is only $\mathcal{O}(\alpha (n))$, which is optimal, where $\alpha (n)$ is the inverse Ackermann function. This function has a value $\alpha (n)<5$ for any value of n that can be written in this physical universe, so the disjoint-set operations take place in essentially constant time.