图论 网络流 最大流
文章平均质量分 86
Fsss_7
这个作者很懒,什么都没留下…
展开
-
POJ1273Drainage Ditches
链接:http://poj.org/problem?id=1273 题意:给定n条边和m个点的图,有边权。求从1到m的最大流量。 分析:学习网络流的第一题,dinic算法的裸题。 代码: #include #include #include #include #include #include #include #include #include #include #include #in原创 2016-07-11 11:00:56 · 309 阅读 · 0 评论 -
51nod大灾变
链接:http://www.51nod.com/contest/problem.html#!problemId=1757 题意:中文题。 分析:因为要去最少时间,二分答案比较容易想到,但是二分后怎么判断呢?我们建模跑网络流,当前答案为x,源点向每个非洞口节点连一条容量为1的边,将所有洞口拆成x个点每个点都向汇点连一条容量为1的边,我们对于所有非洞口a向所有在x时间内能到达的洞口b的第dis[a原创 2016-08-05 19:57:43 · 925 阅读 · 0 评论 -
hdu5772String problem
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5772 题意:给定一个只包含字符‘0’~‘9’,给定每个种字符的花费计算公式(建题面)和同时选择第i个字符和第j个字符的收益w[i][j]和w[j][i]。求选择若干字符能得到的最大收益。 分析:补一波最大权闭合图。我们对所有点对(i,j)的收益向源建容量为收益的边,1~n个位置和0~9字符向汇建花费的原创 2016-07-30 16:00:39 · 594 阅读 · 0 评论 -
swust1744: 方格取数问题
链接:http://www.oj.swust.edu.cn/problem/show/1744 题意:中文题。 分析:要求选出的数总和最大。我们将一行的格子黑白染色,然后将所有黑格子与源相连边的容量为他们的值,所有白格子与汇相连边的容量为他们的值,对于每个黑格子与相邻的白格子练一条容量为无穷大的边。这样我们就建成了一个找二分图最小割(最大流)的图,然后我们将所有格子的总和减去这个图跑出的最大流原创 2016-07-14 20:21:42 · 532 阅读 · 0 评论 -
swust1737: 太空飞行计划问题
链接:http://www.oj.swust.edu.cn/problem/show/1737 题意:中文题。 分析:网络流24题第二题。对每个实验加一条容量为经费的边与超级源相连,对每个仪器加一条容量为花费的边与超级汇相连。每个项目和对应的仪器直接连一条容量为无穷大的边。然后我们跑dinic是求出的最小割,然后我们将总的经费减去最小割(费用总和)就能得到最大收益啦。输出的时候有个点:我们直接原创 2016-07-13 14:50:05 · 449 阅读 · 0 评论 -
试题库问题
链接:swust的oj竟然没有SPJ,做法不一样,a不了。 题意:中文题。 分析:网络流24题第七题。多重匹配的基础问题,模型很简单。 代码: #include #include #include #include #include #include #include #include #include #include #include #include #include #pragma原创 2016-07-14 16:42:19 · 526 阅读 · 0 评论 -
swust1741: 最长递增子序列问题
链接:http://www.oj.swust.edu.cn/problem/show/1741 题意:中文题。 分析:网络流24题第六题。第一问:直接n^2处理出所有的f[i],f[i]表示以a[i]为结尾的最长上升子序列有多长。第二问和第三问就要用网络流建模做啦。怎么建呢?我们观察两个问题的关键点,第二问:取出长度为s且每个点最多拿一次,每个点最多只能拿一次!那么这里就有对点i拆点啦,拆成i原创 2016-07-14 15:29:53 · 365 阅读 · 0 评论 -
swust1739: 魔术球问题
链接:http://www.oj.swust.edu.cn/problem/show/1739 题意:中文题。 分析:网络流24题第四题。我们二分1~n最少需要多少根柱子,然后就是最小路径覆盖啦,不懂的转swust1738,然后找到边界就行了。 代码: #include #include #include #include #i原创 2016-07-13 21:17:07 · 347 阅读 · 0 评论 -
swust1740: 圆桌问题
链接:http://www.oj.swust.edu.cn/problem/show/1740 题意:中文题。 分析:网络流24题第五题。模型比较基础,从超级源连边到每个代表团,容量为他们的人数,每个桌子连一条边到超级汇,每个代表团都连一条边到每张桌子容量为1。那么最大流等于总人数就是yes啦。 代码: #include #include #include #include #includ原创 2016-07-13 21:24:53 · 487 阅读 · 0 评论 -
swust1738: 最小路径覆盖问题
链接:http://www.oj.swust.edu.cn/problem/show/1738 题意:中文题。 分析:网络流24题第三题。最小路径覆盖,我们可以转换成二分图匹配去做,将点i拆成点i和点i+n,每一条边(i,j)变成i与j+n相连,然后匹配。为什么能转呢?我们可以先将这n个点看成是孤立的,也就是n条路径覆盖,然后我们试着加边,每加一条边将一对路径的首尾连起来那么路径数就少了一条,原创 2016-07-13 16:07:18 · 376 阅读 · 0 评论 -
swust1736: 飞行员配对方案问题
链接:http://www.oj.swust.edu.cn/problem/show/1736 题意:中文题。 分析:网络流24题第一题。在两个匹配的飞行员之间连一条容量为1的边,然后建一个超级源和超级汇,外籍飞行员连源容量为1,皇家飞行员连汇容量为1。然后跑一遍dinic就行了。 代码: #include #include #include #include #include #incl原创 2016-07-13 10:42:11 · 368 阅读 · 0 评论 -
计蒜客 菜鸟物流的运输网络
链接:https://nanti.jisuanke.com/t/11215 题意:中文题。 分析:网络流练习第二题,比较经典的模型,因为每个点只能经过一次,那么我们可以将点x拆为x和x+n,然后在x~x+n中间连一条容量为1的边,然后建一个超级源和超级汇,超级源只连mid点且容量为2,x和y各连一条容量为2的边到超级汇,然后dinic跑跑就是了。 代码: #include #include原创 2016-07-11 17:01:28 · 632 阅读 · 0 评论 -
hdu5943Kingdom of Obsession
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5943 题意:给定n和s,要求将1~n与s+1~s+n一一匹配使得i匹配j有i整除j。求是否能完全匹配。 分析:很容易想到如果错开的max(s+1,n+1)~s+n中有>1个素数的话显然是不能完全匹配的,而1e9内素数的间隔不会大于500,叉姐说很容易证明最优匹配重叠的那段一定是互相匹配的,但是窝不知道原创 2016-11-01 19:17:24 · 634 阅读 · 0 评论