摘要: 在网络流的基础上,在每条边上增加一个单位流量费用的限制,这样的问题就是最小费用最大流。 解决该问题的算法时基于贪心的思想,每次找到从源点到会点费用最小的增广路径,直到不存在增广路为止。 P3381 【模板】最小费用最大流 参考代码 #include<bits/stdc++.h> using name 阅读全文
posted @ 2022-08-13 22:09 何太狼 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 最大流是网络中的基本问题,它是基于带权有向图的。 【模板】网络最大流 对于上面的图,可以想象成输水系统。源点为s(出水口),汇点为t(入水口),每条边都有容量,求如何分配水流才能使t点接受到的流量最大。 那么我们很容易得到以下限制 除了源点与汇点,其他所有点流入的流量等于流出的流量。 一条路径的流量 阅读全文
posted @ 2022-08-12 13:15 何太狼 阅读(102) 评论(0) 推荐(0) 编辑
摘要: ios::sync_with_stdio(false); 解除同步之后就不要混用scanf与cin了。 cin.tie(0),cout.tie(0); 解除cin,cout的绑定。cin与cout的绑定多用在重定向中,竞赛中可直接解除。 阅读全文
posted @ 2022-08-02 21:48 何太狼 阅读(517) 评论(0) 推荐(0) 编辑
摘要: P6175 无向图的最小环问题 题目简介 给定一张无向图,求图中一个至少包含 3 个点的环,环上的节点不重复,并且环上的边的长度之和最小。该问题称为无向图的最小环问题。在本题中,你需要输出最小的环的边权和。若无解,输出 No solution.。 思路 注意题目中的环为至少包括3个点,并且点不重复。 阅读全文
posted @ 2022-08-01 13:26 何太狼 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 计算x的y次幂,x,y及返回的结果都为浮点数。 需要注意的是当x为负数及y为小数发生错误。 当x为0且y小于0发生错误。 阅读全文
posted @ 2022-07-21 11:46 何太狼 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 在图中,若不存在顶点到其自身的边,且同一条边不重复出现,则称这样的图为简单图。 第一个顶点和最后一个顶点相同的路径称为回路或环(Cycle)。 序列中顶点不重复出现的路径称为简单路径。 除了第一个顶点和最后一个顶点外,其余顶点不重复出现的回路,称为简单回路或简单环。 只有两个点一条边的无向图不能算作 阅读全文
posted @ 2022-07-16 17:13 何太狼 阅读(53) 评论(0) 推荐(0) 编辑
摘要: #定义 2-SAT(Satisfiability)问题是这样的:有n个布尔变量,另有m个需要满足的条件,每个条件的形式都是“$x_i$为真/假或者$x_j$为真/假”(每条语句只有两个变量并且用或连接)。 我们的任务是判断对于n个布尔变量是否有合适的取值(0或1)来满足所有的条件。 #解法 由于每种 阅读全文
posted @ 2022-07-15 17:04 何太狼 阅读(15) 评论(0) 推荐(0) 编辑
摘要: #点双连通分量(bcc) 在一个连通图中(无向图)任选两点,如果他们之间至少存在两条“点不重复”的路径,称这个图为点双连通。一个图中的点双连通极大子图称为“点双连通分量”(block,2-connected component,BCC)。点双连通分量是个“可靠”的图,去掉任意一个点,其他点任然是连通 阅读全文
posted @ 2022-07-11 16:25 何太狼 阅读(144) 评论(0) 推荐(0) 编辑
摘要: #定义 对于树上的每一点,计算其所有子树(包括"向上"的那棵子树)中最大的子树节点数,这个值最小的点就是这棵树的重心。 OI WiKi 我的理解就是重心是整个物体(在这里是树)的平衡点,为了保持平衡从重心出发到其他点的距离都不会太大而导致失衡。 #性质 1.一棵树最少有一个重心,最多有两个重心,若有 阅读全文
posted @ 2022-07-10 16:28 何太狼 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 弗洛伊德(Floyd-Warshall) 时间复杂度\(O(n^3)\) 多元最短路,核心思想是依次将所有点作为中转点并更新所有路径。 核心代码也只有5行 for(int i=1;i<=n;++i)//外层循环一定是中转点 for(int j=1;j<=n;++j) for(int k=1;k<=n 阅读全文
posted @ 2022-07-03 18:55 何太狼 阅读(100) 评论(0) 推荐(0) 编辑