Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pa:laboratoare:laborator-12 [2022/05/23 11:40]
darius.neatu
pa:laboratoare:laborator-12 [2022/05/24 15:59] (current)
darius.neatu
Line 52: Line 52:
 // nodes     = list of all nodes from G // nodes     = list of all nodes from G
 // edges     = the list of all edges in G // edges     = the list of all edges in G
-//             ​example:​ edge (node, neigh, ​weight)+//             ​example:​ edge (node, neigh, ​capacity)
 // S         = source in network G // S         = source in network G
 // T         = sink in network G // T         = sink in network G
Line 104: Line 104:
 // S         = source in network G // S         = source in network G
 // T         = sink in network G // T         = sink in network G
 +// f         = flow in network G
 +// c         = capacity in network G
 // //
 // returns: maxFlow (maximum flow in G from S to T) // returns: maxFlow (maximum flow in G from S to T)
Line 160: Line 162:
  
   * $1 - 2 - 4 - 6$ (capacitate reziduală **+1**)   * $1 - 2 - 4 - 6$ (capacitate reziduală **+1**)
-  * $1 - 3 - - 6$ (capacitate reziduală **+1**)+  * $1 - 3 - - 6$ (capacitate reziduală **+1**)
  
 === Exemplu Edmonds-Karp:​ exemplu simplu pas cu pas === === Exemplu Edmonds-Karp:​ exemplu simplu pas cu pas ===
Line 252: Line 254:
 <spoiler Detalii (analiză + optimizări)>​ <spoiler Detalii (analiză + optimizări)>​
  
-  * **complexitate temporală**:​ Demonstrația se găsește în **Introduction to Algorithms**. Ideea de bază este că de fiecare dată când creștem fluxul pe un drum de amelioarare, o muchie devine saturată. Dacă vreodată această muchie va mai fi folosită în alt drum de ameliorare (în cazul unei corecții), aceasta va fi folosită într-un drum mai lung. Respectivele distanțe sunt monotone și limitate de $O(|V|)$.+  * **complexitate temporală**:​ Demonstrația se găsește în **Introduction to Algorithms**. Ideea de bază este că de fiecare dată când creștem fluxul pe un drum de ameliorare, o muchie devine saturată. Dacă vreodată această muchie va mai fi folosită în alt drum de ameliorare (în cazul unei corecții), aceasta va fi folosită într-un drum mai lung. Respectivele distanțe sunt monotone și limitate de $O(|V|)$.
   * **complexitate spațială** : Stocăm o coadă pentru algoritmul BFS. De asemenea, în implementare vom stoca și un vector de părinți pentru a putea parcurge un drum de ameliorare de la T la S (sens invers).   * **complexitate spațială** : Stocăm o coadă pentru algoritmul BFS. De asemenea, în implementare vom stoca și un vector de părinți pentru a putea parcurge un drum de ameliorare de la T la S (sens invers).
  
Line 312: Line 314:
  
 </​note>​ </​note>​
- 
-==== TODO ==== 
- 
-TODO: maybe cuplaj? 
  
 ==== BONUS ==== ==== BONUS ====
Line 323: Line 321:
 ==== Extra ==== ==== Extra ====
  
-TODO+  * [[https://​infoarena.ro/​problema/​cuplaj|infoarena/​cuplaj]] 
 +  * [[https://​infoarena.ro/​problema/​fmcm|infoarena/​fcmm]] 
 +  * [[https://​infoarena.ro/​problema/​drumuri2|infoarena/​drumuri2]] 
 +  * [[https://​infoarena.ro/​problema/​joc4|inforena/​joc4]] 
 +  * [[https://​acm.timus.ru/​problem.aspx?​space=1&​num=1533|acm/​fat-hobbits]]
  
 ===== Referințe ===== ===== Referințe =====
pa/laboratoare/laborator-12.txt · Last modified: 2022/05/24 15:59 by darius.neatu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0