Loading docs/graph/bi-graph.md +53 −52 Original line number Diff line number Diff line Loading @@ -51,13 +51,13 @@ 算法步骤大致如下: 1.首先从任意一个未配对的点$u$开始,选择他的任意一条边($u$-$v$),如此时$v$还未配对,则配对成功,配对数加一,若$v$已经配对,则尝试寻找$v$的配对的另一个配对(该步骤可能会被递归的被执行多次),若该尝试成功,则配对成功,配对数加一。 1\. 首先从任意一个未配对的点 $u$ 开始,选择他的任意一条边( $u$ - $v$ ),如此时 $v$ 还未配对,则配对成功,配对数加一,若 $v$ 已经配对,则尝试寻找 $v$ 的配对的另一个配对(该步骤可能会被递归的被执行多次),若该尝试成功,则配对成功,配对数加一。 2.若果上一步配对不成功,那么选择重新选择一条未被选择过的边,重复上一步。 2\. 若果上一步配对不成功,那么选择重新选择一条未被选择过的边,重复上一步。 3.对剩下每一个没有被配对的点执行步骤1,直到所有的点都尝试完毕。 3\. 对剩下每一个没有被配对的点执行步骤 1,直到所有的点都尝试完毕。 用下面的二分图为例: 用下面的二分图为例:  Loading Loading @@ -95,7 +95,8 @@ bool dfs(int u){ int v = G[u][i]; if (vis[v]) continue; vis[v] = 1; if(!match[v] || dfs(match[v])){ //如果v没有匹配,或者v的匹配找到了新的匹配 if (!match[v] || dfs(match[v])) { //如果v没有匹配,或者v的匹配找到了新的匹配 match[v] = u; match[u] = v; //更新匹配信息 return 1; Loading Loading @@ -138,7 +139,7 @@ int main(){ 该问题可以转化为 [费用流](graph/flow/min-cost) 问题解决。 设$G=<V_1, V_2, E>$是一个带边权的二分图,不妨在图中添加源点$s$和汇点$t$,从$s$向$V_1$中的所有节点连一条流量为1,费用为0的边,从$V_1$和$V_2$的所有节点向$t$连一条流量为1,费用为0的边,并且将$V_1$和$V_2$之间的边改成从$V_1$指向$V_2$,流量为1,费用为边权的边,此时该图的最大费最大流的费用即为最大权匹配的边权和,流量流过的边和点构成的子图(删去新添加的点和边后)即为$G$的最大权匹配。 设 $G=<V_1, V_2, E>$ 是一个带边权的二分图,不妨在图中添加源点 $s$ 和汇点 $t$ ,从 $s$ 向 $V_1$ 中的所有节点连一条流量为 1,费用为 0 的边,从 $V_1$ 和 $V_2$ 的所有节点向 $t$ 连一条流量为 1,费用为 0 的边,并且将 $V_1$ 和 $V_2$ 之间的边改成从 $V_1$ 指向 $V_2$ ,流量为 1,费用为边权的边,此时该图的最大费最大流的费用即为最大权匹配的边权和,流量流过的边和点构成的子图(删去新添加的点和边后)即为 $G$ 的最大权匹配。 ## 一般图匹配 Loading docs/intro/editor/devcpp.md +9 −9 Original line number Diff line number Diff line Loading @@ -32,35 +32,35 @@ Dev-C++ 各版本的安装步骤大同小异,下面以最新版本 5.11 演示 [下载链接](https://sourceforge.net/projects/orwelldevcpp/files/latest/download) 1\. 首先选择安装语言,这里选择英语,然后点击 OK。 1.首先选择安装语言,这里选择英语,然后点击 OK。  2\. 同意使用协议,即点击 I Agree。 2.同意使用协议,即点击 I Agree。  3\. 选择安装方式,此处直接点击 Next>。 3.选择安装方式,此处直接点击 Next>。  4\. 选择安装路径,按需要选择,然后点击 Install。 4.选择安装路径,按需要选择,然后点击 Install。  5\. 安装完毕后,点击 Finish 来开始初始化 Dev-C++。 5.安装完毕后,点击 Finish 来开始初始化 Dev-C++。  6\. 选择语言为简体中文,然后点击 > Next。 6.选择语言为简体中文,然后点击 > Next。  7\. 选择你的主题和风格,这些以后可以在编辑器选项里调整,然后点击 > Next。 7.选择你的主题和风格,这些以后可以在编辑器选项里调整,然后点击 > Next。  8\. 点击 OK 以完成安装。 8.点击 OK 以完成安装。  Loading @@ -68,7 +68,7 @@ Dev-C++ 各版本的安装步骤大同小异,下面以最新版本 5.11 演示 1、常用快捷键 1.文件部分 1\. 文件部分 - `Ctrl + N` : 创建源代码 - `Ctrl + O` : 打开文件 Loading Loading
docs/graph/bi-graph.md +53 −52 Original line number Diff line number Diff line Loading @@ -51,13 +51,13 @@ 算法步骤大致如下: 1.首先从任意一个未配对的点$u$开始,选择他的任意一条边($u$-$v$),如此时$v$还未配对,则配对成功,配对数加一,若$v$已经配对,则尝试寻找$v$的配对的另一个配对(该步骤可能会被递归的被执行多次),若该尝试成功,则配对成功,配对数加一。 1\. 首先从任意一个未配对的点 $u$ 开始,选择他的任意一条边( $u$ - $v$ ),如此时 $v$ 还未配对,则配对成功,配对数加一,若 $v$ 已经配对,则尝试寻找 $v$ 的配对的另一个配对(该步骤可能会被递归的被执行多次),若该尝试成功,则配对成功,配对数加一。 2.若果上一步配对不成功,那么选择重新选择一条未被选择过的边,重复上一步。 2\. 若果上一步配对不成功,那么选择重新选择一条未被选择过的边,重复上一步。 3.对剩下每一个没有被配对的点执行步骤1,直到所有的点都尝试完毕。 3\. 对剩下每一个没有被配对的点执行步骤 1,直到所有的点都尝试完毕。 用下面的二分图为例: 用下面的二分图为例:  Loading Loading @@ -95,7 +95,8 @@ bool dfs(int u){ int v = G[u][i]; if (vis[v]) continue; vis[v] = 1; if(!match[v] || dfs(match[v])){ //如果v没有匹配,或者v的匹配找到了新的匹配 if (!match[v] || dfs(match[v])) { //如果v没有匹配,或者v的匹配找到了新的匹配 match[v] = u; match[u] = v; //更新匹配信息 return 1; Loading Loading @@ -138,7 +139,7 @@ int main(){ 该问题可以转化为 [费用流](graph/flow/min-cost) 问题解决。 设$G=<V_1, V_2, E>$是一个带边权的二分图,不妨在图中添加源点$s$和汇点$t$,从$s$向$V_1$中的所有节点连一条流量为1,费用为0的边,从$V_1$和$V_2$的所有节点向$t$连一条流量为1,费用为0的边,并且将$V_1$和$V_2$之间的边改成从$V_1$指向$V_2$,流量为1,费用为边权的边,此时该图的最大费最大流的费用即为最大权匹配的边权和,流量流过的边和点构成的子图(删去新添加的点和边后)即为$G$的最大权匹配。 设 $G=<V_1, V_2, E>$ 是一个带边权的二分图,不妨在图中添加源点 $s$ 和汇点 $t$ ,从 $s$ 向 $V_1$ 中的所有节点连一条流量为 1,费用为 0 的边,从 $V_1$ 和 $V_2$ 的所有节点向 $t$ 连一条流量为 1,费用为 0 的边,并且将 $V_1$ 和 $V_2$ 之间的边改成从 $V_1$ 指向 $V_2$ ,流量为 1,费用为边权的边,此时该图的最大费最大流的费用即为最大权匹配的边权和,流量流过的边和点构成的子图(删去新添加的点和边后)即为 $G$ 的最大权匹配。 ## 一般图匹配 Loading
docs/intro/editor/devcpp.md +9 −9 Original line number Diff line number Diff line Loading @@ -32,35 +32,35 @@ Dev-C++ 各版本的安装步骤大同小异,下面以最新版本 5.11 演示 [下载链接](https://sourceforge.net/projects/orwelldevcpp/files/latest/download) 1\. 首先选择安装语言,这里选择英语,然后点击 OK。 1.首先选择安装语言,这里选择英语,然后点击 OK。  2\. 同意使用协议,即点击 I Agree。 2.同意使用协议,即点击 I Agree。  3\. 选择安装方式,此处直接点击 Next>。 3.选择安装方式,此处直接点击 Next>。  4\. 选择安装路径,按需要选择,然后点击 Install。 4.选择安装路径,按需要选择,然后点击 Install。  5\. 安装完毕后,点击 Finish 来开始初始化 Dev-C++。 5.安装完毕后,点击 Finish 来开始初始化 Dev-C++。  6\. 选择语言为简体中文,然后点击 > Next。 6.选择语言为简体中文,然后点击 > Next。  7\. 选择你的主题和风格,这些以后可以在编辑器选项里调整,然后点击 > Next。 7.选择你的主题和风格,这些以后可以在编辑器选项里调整,然后点击 > Next。  8\. 点击 OK 以完成安装。 8.点击 OK 以完成安装。  Loading @@ -68,7 +68,7 @@ Dev-C++ 各版本的安装步骤大同小异,下面以最新版本 5.11 演示 1、常用快捷键 1.文件部分 1\. 文件部分 - `Ctrl + N` : 创建源代码 - `Ctrl + O` : 打开文件 Loading