网络流
文章平均质量分 72
bababaab
QwQ
展开
-
codevs 1227 方格取数2
网络流+拆点 π_π(好像HDU上有类似的题。。那时我还是用Pascal写的) 算是裸题吧。。然而我本不会费用流 看了下黄学长的代码,说下自己的理解(黄学长只贴了代码π_π) 把每一个点拆成两个点,一个是流进的,一个是流出的 然后建边。。这两个点之间有这几类边:由流入点指向流出点,流量为1,费用为map[i,j] 由流出点指向流入点,流量为0,费用为-map[i,j](即前一条的反向弧)原创 2016-02-05 14:24:42 · 330 阅读 · 0 评论 -
[网络流24题]T1 飞行员配对方案问题
呣唔,很水的一道二分图最大匹配 裸奔一个匈牙利算法就能过,然而太久没写忘记了,下次补上。 为什么不用dinic呢→_→ 简单好写效率高 超级源点s连外籍士兵,流量为1; 外籍士兵连可行的英国士兵,流量为1; 英国士兵连超级汇点t,流量为1。 跑dinic就行了。。么??? woc!!要输出最好的方案。。 然而我不会写。。。而且似乎最好方案不止一种。。不知道是SpecialJudg原创 2016-04-24 19:48:35 · 572 阅读 · 0 评论 -
BZOJ 1001: [BeiJing2006]狼抓兔子
这只是一道朴素的网络流 求出单位时间里最多能同时通过的兔子数就是需要的狼的数目 用了朴素的dinic方法原创 2016-02-04 21:55:00 · 958 阅读 · 0 评论 -
BZOJ 1143: [CTSC2008]祭祀river
显然这是一个最小路径覆盖 转化为二分图做原创 2016-07-25 09:22:47 · 393 阅读 · 0 评论 -
BZOJ 2055:80人环游世界
无源汇有上下界最小费用流 (等我先再刷会儿网络流再去做鬼畜数据结构题) 比较果的吧,然而年代太久远几乎忘记了。。 大约是把每个点的度算出来 度就是进来的下界的总减出去的下界的总流量 然后各边的值就变为上界减下界 呣唔(本人专用叹词) 拆点,x1,x2之间流量费用为0,上界下界都为这个点的魅力值 其他边上界INF下界0,费用为这个城市到另一城市的费用 代码: #include #原创 2016-05-07 20:04:13 · 591 阅读 · 0 评论 -
BZOJ 2929:[Poi1999]洞穴攀行
翻译的一手好题。。 mdzz我特么做半天不对看题解又想不通。。 然后是某位神犇告诉我翻译错了。。 然后打了七八分钟的模板就交了。。 裸的网络流,原题的一思是起点和终点的边只能走一次,那么就把那几条边的流量弄成1就行了 呣唔 代码: #include #include #include #include #include #include #include #include #incl原创 2016-05-13 15:16:17 · 411 阅读 · 0 评论 -
[网络流24题]最小路径覆盖问题
话说五一没怎么写过题, 这样的五一怎么能说是完满的呢。。 于是切了一道网络流 乍一看感觉扯不到网络流上来。。其实这是个二分图 把每个点拆开,变成俩个点 之后如果x和y有边就在x1和y2连一条边流量为1 最小路径覆盖就是总点数减最大流量。 代码: #include #include #include #include #include #include #include #inclu原创 2016-05-01 16:17:11 · 260 阅读 · 0 评论 -
BZOJ 2229:[Zjoi2011]最小割
嗯,一开始写了个裸的枚举每个点对+网络流,结果T得飞起。。 然后搜了题解。。 呣唔我也还是没怎么搞清楚原理,然而知道只要一直求最小割然后把图“割”成两边,直到只有一个点为止。。用中间求得的最小割去更新在不同块的两点的最小割就好了。。 证明这种事情向来只能是神犇做的,吾等蒟蒻只能%%% 何况我有公式恐惧症 省选也讲到了这道题,说了Gusfield算法 然而并不会写,下次再学吧。。 似乎原创 2016-04-29 14:26:12 · 436 阅读 · 0 评论 -
BZOJ 1305: [CQOI2009]dance跳舞
这是前天做的一道题。。今天补发一下。。 还是网络流,关键在于图怎么建 把每个人拆成两个点,如果男孩 i 喜欢女孩 j ,则连接点a1i和 b1j,流量为1; 如果不喜欢,则连接a2i 和 b2j,流量为1; 然后一步是关键,因为每个人都不能和不喜欢的人跳多于K支舞, 所以把a1i 和 a2i 连起来,流量为K;b2i 和b1i 连起来,流量为K(注意方向) 然后把源点和a1 各点连起来原创 2016-02-08 17:05:44 · 376 阅读 · 0 评论 -
codevs 1907:方格取数3
这个系列终于做完了。。 又是一道网络流 因为不能取相邻的点,很容易发现需要二分图 一半的点连源,另一半连汇,流量为map[i,j] 相邻的点连起来,流量为inf 答案就是总和减最大流 最大流。。。看这篇吧 代码 #include #include #include #include #define inf 0x3f3f3f3f #define g getchar #define l原创 2016-02-05 17:28:57 · 413 阅读 · 0 评论 -
BZOJ 1834: [ZJOI2010]network 网络扩容
第一问直接拍一个dinic 第二问在第一问做完之后的残量网络上加上一些费用为w[i],流量为k的边,新建一个源点,加一条费用为0,流量为k的边连向原来的源点以限制流量。 主要是有些细节问题。 mdzz我spfa队列开小WA了一次。。原创 2016-11-01 18:49:38 · 326 阅读 · 0 评论