From fd77c2f63fde0017a55762d1dec7446dbd6a7ff3 Mon Sep 17 00:00:00 2001 From: Try_To_Take <70414732+Lolka555@users.noreply.github.com> Date: Fri, 23 Jan 2026 22:52:12 +0300 Subject: [PATCH 1/3] Update mincost-maxflow.md A clearer and cleaner record of the proof of the statement about the cost of edges when applying Johnson potentials. --- content/russian/cs/flows/mincost-maxflow.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/russian/cs/flows/mincost-maxflow.md b/content/russian/cs/flows/mincost-maxflow.md index e4f34070..f26fd8c8 100644 --- a/content/russian/cs/flows/mincost-maxflow.md +++ b/content/russian/cs/flows/mincost-maxflow.md @@ -52,8 +52,8 @@ $$ w_{uv}' = w_{uv} + d_u - d_v $$ **Доказательство.** Пусть вес какого-то ребра $(u, v)$ отрицателен, то есть $w_{uv}' = w_{uv} + d_u - d_v < 0$. Тогда $d_u + w_{uv} < d_v$, и нарушилось неравенство треугольника: почему мы тогда не использовали ребро $(u, v)$, когда искали кратчайший путь до $v$? -Аналогично можно показать, что рёбра на кратчайших путях из $s$ имеют нулевую стоимость. Заметим, что стоимость *обратных* рёбер на кратчайших путях тоже будет нулевой: -$$ w_{vu}' = w_{vu} + d_v - d_u = -w_{uv} - d_u + d_v = -(w_{uv}) = 0 $$ +Аналогично можно показать, что рёбра на кратчайших путях из $s$ имеют нулевую стоимость. Заметим, что стоимость *обратных* рёбер на кратчайших путях тоже будет нулевой. Возьмём ребро $(u, v)$, которое лежит на кратчайшем пути из $s$, то есть $d_v = d_u + w_{uv}$. Тогда: +$$ w_{vu}' = -w_{uv} + d_v - d_u = -w_{uv} + (d_u + w_{uv}) - d_u = -w_{uv} + w_{uv} = 0 $$ **Утверждение 2**. Кратчайшие пути между любыми вершинами остались кратчайшими. From 2770a09144e02cf722f4f403461d2b1a2804267b Mon Sep 17 00:00:00 2001 From: Try_To_Take <70414732+Lolka555@users.noreply.github.com> Date: Fri, 23 Jan 2026 22:52:48 +0300 Subject: [PATCH 2/3] Update mincost-maxflow.md fix --- content/russian/cs/flows/mincost-maxflow.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/russian/cs/flows/mincost-maxflow.md b/content/russian/cs/flows/mincost-maxflow.md index f26fd8c8..6693fda3 100644 --- a/content/russian/cs/flows/mincost-maxflow.md +++ b/content/russian/cs/flows/mincost-maxflow.md @@ -53,7 +53,7 @@ $$ w_{uv}' = w_{uv} + d_u - d_v $$ **Доказательство.** Пусть вес какого-то ребра $(u, v)$ отрицателен, то есть $w_{uv}' = w_{uv} + d_u - d_v < 0$. Тогда $d_u + w_{uv} < d_v$, и нарушилось неравенство треугольника: почему мы тогда не использовали ребро $(u, v)$, когда искали кратчайший путь до $v$? Аналогично можно показать, что рёбра на кратчайших путях из $s$ имеют нулевую стоимость. Заметим, что стоимость *обратных* рёбер на кратчайших путях тоже будет нулевой. Возьмём ребро $(u, v)$, которое лежит на кратчайшем пути из $s$, то есть $d_v = d_u + w_{uv}$. Тогда: -$$ w_{vu}' = -w_{uv} + d_v - d_u = -w_{uv} + (d_u + w_{uv}) - d_u = -w_{uv} + w_{uv} = 0 $$ +$$w_{vu}' = -w_{uv} + d_v - d_u = -w_{uv} + (d_u + w_{uv}) - d_u = -w_{uv} + w_{uv} = 0$$ **Утверждение 2**. Кратчайшие пути между любыми вершинами остались кратчайшими. From 22d26f80f9e4bfd6906d6619fc0912c360f73b6d Mon Sep 17 00:00:00 2001 From: Try_To_Take <70414732+Lolka555@users.noreply.github.com> Date: Fri, 23 Jan 2026 22:53:25 +0300 Subject: [PATCH 3/3] Update mincost-maxflow.md formating fix. --- content/russian/cs/flows/mincost-maxflow.md | 1 + 1 file changed, 1 insertion(+) diff --git a/content/russian/cs/flows/mincost-maxflow.md b/content/russian/cs/flows/mincost-maxflow.md index 6693fda3..7c85dcae 100644 --- a/content/russian/cs/flows/mincost-maxflow.md +++ b/content/russian/cs/flows/mincost-maxflow.md @@ -53,6 +53,7 @@ $$ w_{uv}' = w_{uv} + d_u - d_v $$ **Доказательство.** Пусть вес какого-то ребра $(u, v)$ отрицателен, то есть $w_{uv}' = w_{uv} + d_u - d_v < 0$. Тогда $d_u + w_{uv} < d_v$, и нарушилось неравенство треугольника: почему мы тогда не использовали ребро $(u, v)$, когда искали кратчайший путь до $v$? Аналогично можно показать, что рёбра на кратчайших путях из $s$ имеют нулевую стоимость. Заметим, что стоимость *обратных* рёбер на кратчайших путях тоже будет нулевой. Возьмём ребро $(u, v)$, которое лежит на кратчайшем пути из $s$, то есть $d_v = d_u + w_{uv}$. Тогда: + $$w_{vu}' = -w_{uv} + d_v - d_u = -w_{uv} + (d_u + w_{uv}) - d_u = -w_{uv} + w_{uv} = 0$$ **Утверждение 2**. Кратчайшие пути между любыми вершинами остались кратчайшими.