网络流
zyy_2017
这个作者很懒,什么都没留下…
展开
-
bzoj 1877 晨跑(费用流)
求的是最多的天数,和这些天跑步总路程最小.我们将每两个点之间看成流量为一的通道,那么从源点到汇点,最大的流量就是从寝室跑到学校最多的路线,即最多天数.并且题目里要求每个点只经过一次,那么需要将每一个点拆分成两个点,之间的边流量设置成一,这样就会保证只有一条路通过这个点了.剩下的就是套模板了...#include<stdio.h>#include<iostream&...原创 2018-08-05 16:52:52 · 155 阅读 · 0 评论 -
poj 3680 Intervals(构图+最大费用最大流)
大致题意:给你n个开区间,每个区间都有一个权值,现在从中选出一些区间使得所选区间的总权值最大,且所有区间上的数字被覆盖次数不能超过k次。解题思路:这是挑战书上的一道例题(p246),是一道费用流的题,不看题解我是想不到这道题如何构图的。这道题的构图思想大致如下:因为区间区间端点值很大,但是n很小,所以我们可以将区间离散化。离散化之后,端点有2*n个,大约最多400个。我们将...原创 2018-08-06 10:50:53 · 479 阅读 · 0 评论 -
poj 3686 The Windy's(建图+费用流)
这道题卡vector,改用链式向前星存图可以过,至于边数要开的尽可能大,否则超时。。。。 #include<stdio.h>#include<iostream>#include<algorithm>#include<string.h>#include<vector>#include<queue>using...原创 2018-08-07 10:38:25 · 141 阅读 · 0 评论 -
dinic 模板(链式向前星+当前弧优化)
#include<stdio.h>#include<iostream>#include<string.h>#include<queue>#include<set>#include<map>#include<algorithm>#define ll long longusing namespace s原创 2018-09-12 14:35:19 · 246 阅读 · 0 评论 -
hdu 3251(最小割+输出割边)
大致题意:有一个国家,有许多城市,一条道路连接两个城市,拆掉这条路的花费为w,国王居住在城市1,因为你拯救了国家,所以国王现在要奖赏你一些城市,可选的城市有f个,每个城市都有一定的价值,当你选择一些城市之后要拆掉一些道路使得国王不能从城市1走到你所选的任一个城市,现在问你,你所能获得的最大价值是多少。将给出的城市和道路建图,然后添加一个原点,将能选择的f个城市与这个源点相连,权值为所能获得...原创 2018-09-12 20:16:40 · 453 阅读 · 0 评论 -
2018 acm-icpc焦作网络赛 F(费用流+区间离散化)
这道题和poj3680很相似,不过这道题每个点只能重复一次。但我们可以将右端点加一,这样就可以建图了。区间离散时加了一段代码,导致T了10多次,后来发现这段代码不加也可以,因为,离散化之后保证相对不相交就可以。。。#include<stdio.h>#include<iostream>#include<string.h>#include<qu...原创 2018-09-18 21:12:41 · 268 阅读 · 0 评论 -
hdu 2485 Destroying the bus stations(费用流)
题意:n个点,m条有向边,问最少去掉几个点使得从1到n的路径(最短路)大于k?思路:这道题用费用流解,感觉好奇妙。。。首先我们想,求费用流时,我们是每次用spfa求得最短路然后进行减流,直到找不到从汇点到源点的路径。那么对于这道题,当我们增广出一条从1到n的最短路时,我们可以将其中的某个点删去,使得这条路以及从这条路分支出来的路都使得不能从1走到n。所以我们可将点2~n进行拆点,所...原创 2018-09-14 20:18:38 · 173 阅读 · 0 评论