摘要:
有源汇上下界最小费用可行流。 将每个国家拆点。 源点向一个新建节点连一条上界为总人数下界为0费用为0的边。 新建节点向每个国家的入点连一条上界为正无穷下界为0费用为0的边。 每个国家的入点向出点连一条上下界均为该国家访问人数费用为0的边。 每个国家的出点向汇点连一条上界为正无穷下界为0费用为0的边。 阅读全文
摘要:
一个m行n列的矩阵,给出每行每列中元素的和,以及对一些格子的大小限制,求一个可行方案,输出矩阵。 大小限制形如:严格大于i,严格小于i,等于i。 1<=m<=200.1<=n<=20. 有源汇上下界可行流。 将每一行作为一个点,每一列作为一个点。 源点向每个行点连一条上下界均为该行和的边。 每个列点 阅读全文
摘要:
平面图最小割转对偶图最短路。 初看是一个裸的最小割,但数据范围1000000个点…… 在原平面图上加入一条S到T的边,形成一个新区域。 将图上每个区域(二维)看做一个点(包括新区域和无限大的区域),区域边界看做边,边权为边界所对应原图中的边的边权,新建图。 删掉新区域和无限大区域之间的边。 此时原图 阅读全文
摘要:
最大流。 这东西好像叫三分图匹配。 源点向每个食物点连一条容量为1的边。 每个饮料点向汇点连一条容量为1的边。 将每个牛点拆点,食物点向喜欢它的牛的入点连一条容量为1的边,牛的出点向它喜欢的饮料点连一条容量为1的边。 最大流即为答案,每头牛拆点是为了保证每头牛只有一种食物和一种饮料。 另,做这道题是 阅读全文
摘要:
最小费用最大流。动态加点。 可以先去做bzoj1070修车,题意基本一样,数据范围较小。 懒得再写一遍了——>类似的题解 但是这道题数据范围较大直接建图会TLE,所以要动态加点。 开始时每个厨师只建一个点表示倒数第一个做的菜。 然后增广一次,ans1加上费用,ans2加上流量,找出增广了哪个厨师(判 阅读全文
摘要:
给定一张m个点s条边混合图(有向边和无向边),求是否存在欧拉回路。 1<=m<=200.1<=s<=1000. 混合图欧拉回路需要借助最大流。 有向图欧拉回路的充要条件:图联通且每个点入度等于出度。所以转化为有向图,将每条无向边任意定向,统计入出度。考虑将一条有向边反向会让点的入出度差的绝对值变化2 阅读全文
摘要:
有m个猪圈,每个猪圈上有若干头猪。有n个买猪的人,按顺序来买猪,每个人只会买固定几个猪圈里的猪,并且买猪有上限。当一个人买完猪后,他所买的那几个猪圈的猪可以互相走,问n个人依次买完,最多买多少头猪。 1<=m<=1000.1<=n<=100. 最大流。 裸的建图(每个人买猪的情况就建一层点)点数边数 阅读全文
摘要:
给出一个n*n的矩阵,每个点有权值。一个人要从左上角点每次向下或向右走走到右下角点,每到一个点拿走该点权值。现在他要走k遍,每个点的权值只能取一次,问能收获的最大权值。 1<=n<=50.0<=k<=10. 最小费用最大流。 将每个点拆点。 源点向左上入点连一条容量为k费用为0的边。 每个点的入点向 阅读全文
摘要:
给出一张无向图(输入方式是有向图), 给定源点和汇点,求最少割掉几个点使得源点与汇点不连通,并输出字典序最小的一组解。 图上求点连通度 由小到大枚举每个点(除了源点和汇点),删掉该点后跑最大流,若最大流减少则记录,不减少则将该点加回。直到记录点数达到答案,即得到字典序最小的一组解。 据说有一遍din 阅读全文
摘要:
给出一个无向图,求该图的点连通度。 点连通度:最小割点集合中的顶点数。 0<=n<=50. 最小割。 边连通度很好求,只需要随便固定源点枚举汇点求最小割取min即可。 点连通度采用点边转化的思想,将每个点拆点,入点与出点连边将点上的信息反映在边上。 每个点的入点向出点连一条容量为1的边。 每条边拆成 阅读全文