最大流
litmxs
博客内容如有错误,还望指正
展开
-
POJ - 3436 ACM Computer Factory 最大流 Dinic模版
题目链接: POJ - 3436题目大意工厂生产电脑, 有n台机器, p种原料 每台机器有一个效率q(每小时生产数量); 一个输入原料数组in[p], 其中in[i]=0代表不能有原料i, =1代表一定要有原料i, =2表示可以有也可以没有 一个输出产品数组out[p], out[i]=0代表不输出产品i, =1代表输出其中输入原料数组全为0或2的(就是不需要输入原料的机器)为源点 输出产品原创 2017-07-02 16:39:08 · 307 阅读 · 0 评论 -
Escape HDU - 3605 最大流 状态压缩
题目链接: Escape HDU - 3605题目大意n个人, m个星球(1≤n≤105,1≤m≤101 \leq n \leq 10^5, 1 \leq m \leq 10), 每个人适应某些星球, 不适应其他星球, 每个星球有人口限制, 问是否所有人都可以移民思路最大流 但是数据规模太大, 如果直接建图会超时 但是星球数量只有10个, 我们可以把人根据最每个星球的适应情况进行分类, 用二进制原创 2017-07-09 07:18:08 · 277 阅读 · 0 评论 -
Kakuro Extension HDU - 3338 最大流(WA)
题目链接: Kakuro Extension HDU - 3338 题目大意一个如图所示的矩阵, 有数字的黑色方块左下角的数字表示从这个方块下面一个方块开始一直到边界或另一个黑色方块所有白色方块的数字和, 黑色方块右上角表示右边所有白色方块的数字和 给所有白色方块填上数字(1-9)思路和紫书矩阵解压那题一样, 当时更复杂一些, 同样要把每个白色方块的数字减去1后再处理, 每个黑色方块向其下方的白原创 2017-07-08 22:49:00 · 279 阅读 · 0 评论 -
Control HDU - 4289 最小割
题目链接: Control HDU - 4289 题目大意一张无向图, n个顶点, m条边, 现在要去除某些顶点, 使得节点s和节点d之间没有任何路径相连, 每个顶点有一个cost, 去除这个顶点的花费, 求最小花费思路将每个顶点v拆成两个顶点v1,v2v_1, v_2, 之间连一条容量为去除这个顶点的cost, 求s1,d2s_1, d_2之间的最小割代码#include <bits/stdc++原创 2017-07-08 22:37:40 · 318 阅读 · 0 评论 -
Sabotage UVA - 10480 最小割
题目链接: Sabotage UVA - 10480题目大意一张无向图, n个顶点, m条边(n≤50,m≤500n \leq 50, m \leq 500), 每条边有一个权值, 去除若干条边, 让顶点1和顶点2之间没有路径相连, 求去除的边权值总和最小的切割方案, 输出这个方案思路最小割问题 求出最小割后, 在残余网络中, 与源点之间有路径的顶点属于集合S, 其他顶点属于集合T, 所有一个顶点原创 2017-07-08 22:35:55 · 312 阅读 · 0 评论 -
Island Transport HDU - 4280 最大流 ISAP
题目链接: Island Transport HDU - 4280 题目大意n个顶点, m条边(2≤n,m≤1052 \leq n, m\leq 10^5), 每条边有容量限制, 求起点到终点的最大流量, 有最多20组数据 数据规模比较大, Dinic会超时, 要用sap代码#include <iostream>#include <algorithm>#include <cstdio>#in原创 2017-07-08 22:11:28 · 355 阅读 · 0 评论 -
Matrix Decompressing UVA - 11082 最大流 建图
题目链接: UVA - 11082题目大意一个r*c的矩阵, 给出两个数列, 矩阵内数字在范围[1, 20]之间, A[i] := 前i行的和, B[i] := 前i列的和 还原矩阵(保证有解)思路以每一行每一列为节点, 设置源点s, 汇点t s向每一行连边, 容量为这一行的数字和(通过A求出) - c(行的和-列数相当与这一行每一个数字都-1, 将数字取值范围从[1, 20]变成了[0, 19原创 2017-07-04 22:51:19 · 441 阅读 · 0 评论 -
A Plug for UNIX POJ - 1087 最大流 建图
题目链接POJ - 1087题目大意不同类型的接口(类型用一个字符串表示), 有n个插座, 每个插座类型都不相同, m个设备, 每个设备有各自的接口类型, k种转换器, 可以将s1接口转换成s2, 转换器数量无限供应, 求最多能有多少能接入插座思路建图, 最大流 插座为源点, 设备为汇点, 设置超级源点S, 超级汇点T S与每个插座连边, 容量为1(只有一个插座) 每个设备与T连边, 容量为1原创 2017-07-04 22:39:35 · 266 阅读 · 0 评论 -
POJ - 3281 Dining 最大流
题目链接: POJ - 3281题目大意n头牛, f种食物, d种饮料, 每头牛有若干种喜欢的食物和若干种喜欢的饮料, 每种食物或饮料只能使用一次, 求最多能让多少头牛同时吃上喜欢的一个食物和一个饮料思路建图, 最大流建图方法将每种食物f拆成两个节点f1, f2, 从f1向f2连一条容量为1的边, 以保证每个食物只能用一次饮料同样做拆分处理成d1, d2每个牛c也拆分成c1, c2, 从c1向原创 2017-07-02 16:52:36 · 302 阅读 · 0 评论 -
HDU 6214 - Smallest Minimum Cut 最小割 特殊技巧
题目链接:HDU 6214题目大意有向图, 求能让两个点完全分割开来所需要割去的最少边思路两种方法, 一种是先一遍最大流, 然后满载的边容量变成1, 其他变成INF, 再一遍最大流, 得到的就是最少需要割去的边数 另一种是每一个边的权值*m+1, (m为一个比较大的数), 然后求最小割, 得到的值对m取余就是答案 第一种算法有点问题 如图 代码两遍最大流 312MS 1960K 25原创 2017-09-19 22:58:56 · 375 阅读 · 0 评论