随笔分类 -  图论——网络流——费用流

摘要:传送门 神仙题啊……不看题解我可能一年都不一定做得出来……FlashHu大佬太强啦 到底是得有怎样的脑回路才能一眼看去就是费用流啊…… 建好图之后套个板子就好了,那么我们着重来讨论一下怎么建图 首先,对于每一个水管的支管,有且仅有一个其他支管与他相连,那么就不会漏水了。用网络流的说法,就是要每个支管 阅读全文
posted @ 2018-09-18 15:38 bztMinamoto 阅读(222) 评论(0) 推荐(0)
摘要:传送门 其实这题的建图并不难(虽然我并没有想出来) 首先,每一个点的入度和出度必须为$1$ 那么我们考虑拆点 每个点的出度点向它能到达的点的入度点连边,容量$1$,如果方向为原来的方向则费用$0$否则费用$1$ 然后源点向所有入度点连边,所有出度点向汇点连边 因为费用流首先是最大流,所以肯定能跑满 阅读全文
posted @ 2018-09-03 21:08 bztMinamoto 阅读(161) 评论(0) 推荐(0)
摘要:传送门 ps:费用流增广的时候费用和流量打反了……调了一个多小时 每个数只能参与一次配对,那么这就是一个匹配嘛 我们先把每个数分解质因数,记质因子总个数为$cnt_i$,那如果$a_i/a_j$是质数当且仅当$cnt_i=cnt_j+1$且$a_i/a_j==0$ 那么我们根据$cnt_i$的奇偶性 阅读全文
posted @ 2018-09-03 20:27 bztMinamoto 阅读(163) 评论(0) 推荐(0)
摘要:传送门 表示完全看不懂最小费用可行流…… 据某大佬说 我们考虑拆点,然后进行如下连边 $s$向$a_i$连边,权值$0$,容量$[0,m]$ $a_i$向$a_i'$连边,权值$0$容量$[v_i,v_i]$ 如果存在边$(i,j)$,则连边$a_i'->a_i$,权值为$w_{i,j}$,容量$[ 阅读全文
posted @ 2018-09-03 18:34 bztMinamoto 阅读(165) 评论(0) 推荐(0)
摘要:传送门 一道题让我又要学可行流又要学zkw费用流…… 考虑一下,原题可以转化为一个有向图,每次走一条路径,把每一条边都至少覆盖一次,求最小代价 因为一条边每走过一次,就要付出一次代价 那不就是费用流了么 我们定义每走一次都会对一条边增加1的流量,1然后费用为时间 那么把下界设为1,上界设为inf,跑 阅读全文
posted @ 2018-09-02 21:07 bztMinamoto 阅读(189) 评论(0) 推荐(0)
摘要:题目描述 申奥成功后,布布经过不懈努力,终于成为奥组委下属公司人力资源部门的主管。布布刚上任就遇到了一个难题:为即将启动的奥运新项目招募一批短期志愿者。经过估算,这个项目需要N 天才能完成,其中第i 天至少需要Ai 个人。 布布通过了解得知,一共有M 类志愿者可以招募。其中第i 类可以从第Si 天工 阅读全文
posted @ 2018-08-21 16:04 bztMinamoto 阅读(326) 评论(0) 推荐(0)
摘要:题目描述 CZ市为了欢迎全国各地的同学,特地举办了一场盛大的美食节。作为一个喜欢尝鲜的美食客,小M自然不愿意错过这场盛宴。他很快就尝遍了美食节所有的美食。然而,尝鲜的欲望是难以满足的。尽管所有的菜品都很可口,厨师做菜的速度也很快,小M仍然觉得自己桌上没有已经摆在别人餐桌上的美食是一件无法忍受的事情。 阅读全文
posted @ 2018-08-21 15:17 bztMinamoto 阅读(158) 评论(0) 推荐(0)
摘要:题目描述 给定一张有向图,每条边都有一个容量C和一个扩容费用W。这里扩容费用是指将容量扩大1所需的费用。求: 1、 在不扩容的情况下,1到N的最大流; 2、 将1到N的最大流增加K所需的最小扩容费用。 输入输出格式 输入格式: 输入文件的第一行包含三个整数N,M,K,表示有向图的点数、边数以及所需要 阅读全文
posted @ 2018-08-21 14:32 bztMinamoto 阅读(254) 评论(0) 推荐(0)
摘要:题目描述 有一个n行m列的黑白棋盘,你每次可以交换两个相邻格子(相邻是指有公共边或公共顶点)中的棋子,最终达到目标状态。要求第i行第j列的格子只能参与mi,j次交换。 输入输出格式 输入格式: 第一行包含两个整数n,m(1<=n, m<=20)。以下n行为初始状态,每行为一个包含m个字符的01串,其 阅读全文
posted @ 2018-08-21 13:57 bztMinamoto 阅读(174) 评论(0) 推荐(0)
摘要:题目描述 同一时刻有N位车主带着他们的爱车来到了汽车维修中心。维修中心共有M位技术人员,不同的技术人员对不同的车进行维修所用的时间是不同的。现在需要安排这M位技术人员所维修的车及顺序,使得顾客平均等待的时间最小。 说明:顾客的等待时间是指从他把车送至维修中心到维修完毕所用的时间。 输入输出格式 输入 阅读全文
posted @ 2018-08-21 12:40 bztMinamoto 阅读(194) 评论(0) 推荐(0)
摘要:题目描述 Elaxia最近迷恋上了空手道,他为自己设定了一套健身计划,比如俯卧撑、仰卧起坐等 等,不过到目前为止,他坚持下来的只有晨跑。 现在给出一张学校附近的地图,这张地图中包含N个十字路口和M条街道,Elaxia只能从 一个十字路口跑向另外一个十字路口,街道之间只在十字路口处相交。Elaxia每 阅读全文
posted @ 2018-08-21 11:28 bztMinamoto 阅读(198) 评论(0) 推荐(0)
摘要:传送门 完了这题好厉害……字符串什么的好麻烦…… 要求从$1$到$n$的路径,不重复,经过边数最多 每一个点拆成两个,$A_i,B_i$,然后$A_i$到$B_i$连容量为$1$,费用为$1$的边,保证每个点只被选一次 然后$1$和$n$的话要容量为$2$ 然后有连边的话,$B_i$向$A_j$连边 阅读全文
posted @ 2018-08-20 21:25 bztMinamoto 阅读(235) 评论(0) 推荐(0)
摘要:传送门 和深海机器人问题差不多……看到有的大佬是用dp过的,强无敌…… 考虑一下,把每一个点拆点,分别是$A_i$和$B_i$,连一条容量为$inf$,费用为$0$的边,表示可以随便走。如果有石头,再连一条边,容量为$1$,费用为$1$,表示只能走一次,且有$1$的价值。然后套路的建一个超级源和超级 阅读全文
posted @ 2018-08-20 20:12 bztMinamoto 阅读(249) 评论(0) 推荐(0)
摘要:传送门 不得不说这题真是思路清奇,真是网络流的一道好题,完全没想到网络流的建图还可以这么建 我们把每一个点拆成两个点,分别表示白天和晚上,白天可以得到干净的餐巾(购买的,慢洗的,快洗的),晚上可以得到脏餐巾(之前剩下的,今天用过的) 1.每一天,我们都从源点向晚上连边,容量为餐巾,费用$0$,表示可 阅读全文
posted @ 2018-08-20 19:24 bztMinamoto 阅读(190) 评论(0) 推荐(0)
摘要:传送门 两个感受:码量感人……大佬nb…… 规则一:$m$条路径都不相交,那么每一个点只能经过一次,那么考虑拆点,把每一个点拆成$A_{i,j}$和$B_{i,j}$,然后两点之间连一条容量$1$,费用该点本身数值的边,表明这个点只能被选一次,然后每一个点的$B$向它能到达的点的$A$连边,表明能从 阅读全文
posted @ 2018-08-20 18:50 bztMinamoto 阅读(169) 评论(0) 推荐(0)
摘要:传送门 图给的好坑……还得倒过来…… 用大佬的图做个示范 我们考虑左图吧 把每一个点向下连边,容量$1$,费用为给出的价值(表示一个机器人可以过去取得标本) 再连一条边,容量$inf$,费用$0$(表示剩下的机器人过去无法取得标本) 然后向右连的边也一样 注意连边的顺序 然后源点向所有出发点连边,容 阅读全文
posted @ 2018-08-20 10:56 bztMinamoto 阅读(198) 评论(0) 推荐(0)
摘要:传送门 其实和最长k可重区间集问题差不多诶…… 把这条开线段给压成x轴上的一条线段,然后按上面说的那种方法做即可 然而有一个坑点是线段可以垂直于x轴,然后一压变成一个点,连上正权环,求最长路……然后spfa他就死了…… 怎么解决呢……把每一个区间的左右端点坐标扩大两倍,如果相等就$--l[i]$,否 阅读全文
posted @ 2018-08-20 10:16 bztMinamoto 阅读(117) 评论(0) 推荐(0)
摘要:传送门 因为一个zz错误调了一个早上……汇点写错了……spfa也写错了……好吧好像是两个…… 把数轴上的每一个点向它右边的点连一条边,容量为$k$,费用为$0$,然后把每一个区间的左端点向右端点连边,容量为$1$,费用为区间长度,然后求一个最大费用最大流。因为坐标太大,记得离散 然而并不是很明白为什 阅读全文
posted @ 2018-08-20 09:13 bztMinamoto 阅读(194) 评论(0) 推荐(0)
摘要:传送门 源点向仓库连费用$0$,流量为储量的边,商店向汇点连费用$0$,流量为需求的边,然后仓库向商店连流量$inf$,费用对应的边,跑个费用流即可 阅读全文
posted @ 2018-08-19 18:22 bztMinamoto 阅读(161) 评论(0) 推荐(0)
摘要:传送门 可以把原图看做一个二分图,人在左边,任务在右边,求一个带权的最大和最小完美匹配 然而我并不会二分图做法,所以只好直接用费用流套进去,求一个最小费用最大流和最大费用最大流即可 阅读全文
posted @ 2018-08-19 15:36 bztMinamoto 阅读(206) 评论(0) 推荐(0)

Live2D