![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论
文章平均质量分 50
summer_via
不积跬步无以至千里
展开
-
hdu 2437 Jerboas 最短路
解题思路: 这一题因为题目中“What's more, for some unknown reasons, it's true that start from any burrow, follows the tunnels you can not go back to the starting burrow. ”,所以该图一定是有向无环图,直接用DFS去找每个答案会超时,这题的n 代码:原创 2016-07-08 23:27:00 · 380 阅读 · 0 评论 -
POJ - 3281 Dining 网络流
POJ - 3281 Dining 网络流 一、题意 POJ - 3281 Dining 农场里有n头牛,f种食物,n中饮料,每头牛有自己喜欢的食物和饮料类型,每种食物和饮料都只能分配给一头牛,现在为每头牛分配食物和饮料,求能同时得到自己想要的食物和饮料的牛的数量(每头牛最多只获得一种食物或饮料)? 二、解题思路 只是两个二分图匹配的问题,可以用网络流求解,可以如下建图: (1)...原创 2016-07-02 11:22:56 · 341 阅读 · 0 评论 -
UVA 10480 Sabotage 网络流
题意: 一些城市通过网络连接,首都的编号是1,最大的城市的编号是2,要破坏一些边使得首都到最大的城市的连接中断,破坏不同的边有不同的花费。求最小的花费? 解题思路: 使s-t的路径断开,就是增广后的残余网络,即为s-t的最小割,因此用增光路求最大流即可。答案要求输出该切掉那些边,这些即使残余网络中使s-t路径断开的边,从s开始用BFS搜索一次标记可达的点,再来扫描参与网络中的边,若这条边的端...原创 2016-07-07 22:44:41 · 492 阅读 · 0 评论 -
Codeforces Round #407 (Div. 1) B. Weird journey
题意 给定一个无重边的图(有自环),求有多少路径满足路径遍历所有的边,并且有m-2条边被遍历两次,2条边被遍历一次,两条路路径不同的定义是两条路径遍历边的集合不同? 思路 遍历所有的边,想到欧拉回路,即一笔画问题,一笔画有两种情况:(1)有且仅有两个节点的度数为奇数(2)所有节点的度数均为偶数,题目要求m-2条边都遍历两次, 不如先将所有的边当作二重边,那么所有节点的度数都将翻倍,度数都变原创 2017-04-08 10:50:20 · 372 阅读 · 0 评论 -
【图论】最小费用流模板
求达到流量f的最小费用 /* 最小费用流模板(限定最小流量) * vector实现,使用前初始化G * V表示节点数,需要初始化 * 时间复杂度:O(F*V^2) */ #define INF 0x3f3f3f3f #define MAX_V 1005 typedef pair P; struct edge { int to,cap,cost,rev; }; int V; vec原创 2016-08-24 15:43:57 · 525 阅读 · 0 评论 -
hdu 4411 Arrest【最小费用流】
题目链接 题意: 给定一个有(n+1)个节点的边权图,其中警察局在0点,其他n个点各有一个黑手党,现在警察局派出k个警察去抓黑手党,并逮捕会警察局,一旦黑手党i被抓,他会向黑手党i-1报信,任务就会失败,求使任务成功的的最小花费? 思路: 要使黑手党之间不能通讯,必须以1到n的顺序来抓捕,那么每个警察的抓捕顺序只能从小到大。警察从一个城市到另一个城市一定走的是两个城市间的最短路。 首先可...原创 2016-08-24 15:36:33 · 409 阅读 · 0 评论 -
【二分图匹配】Hopcroft-Karp算法模板
Hopcroft-Karp算法: Hopcroft-Karp算法的思想与dinic类似,就是在分层图的基础上一次求多条不相交的最短路径,可以增明最多在√n次数内完成。这里只是上传一下模板,看讲解的可以略过。 Hopcroft-Karp模板: /* 二分图Hopcroft-karp算法模板 * 使用前初始化G,uN赋值为左边节点的个数 * mx,my分别表示二分图左边和右边的匹配原创 2016-08-01 19:22:18 · 646 阅读 · 0 评论 -
【模板】树的直径
树的直径: 树上任意两点的距离的最大值。 求法: 通过两次bfs即可求出树的直径 模板: /* 树的直径: * 使用前dis,G都要初始化 * 复杂度:O(n) */ #define MAXN 105 vector G[MAXN]; int n,m; int dis[MAXN]; int bfs(int u) { queue que; que.push(u);原创 2016-08-15 15:56:18 · 646 阅读 · 0 评论 -
codeforce 120F 【树的直径】
F. Spiders time limit per test 1 second memory limit per test 256 megabytes input input.txt output output.txt One day mum asked Petya to sort his toys and get rid of som原创 2016-08-15 15:01:18 · 400 阅读 · 0 评论 -
HDU 3338 Kakuro Extension 网络流
题意: 题意就是要求在白色方格内填1-9的数字,使得一行连续白块的和等于左边第一个黑色方格右上角的值,每一列连续白块的和等于上方第一个黑色方格左下的值,题目保证第一行和第一列为黑色,且保证有解。 解题思路: 建立源点和汇点,从s向左下有值黑色方块建容量为该值的边,从右上有值的边向汇点t建立容量为该值的边,对于白块建一条左边第一黑色方块指向它的边,再建一条它指向上方第一黑块的边。但是用网络流这...原创 2016-07-08 23:37:13 · 256 阅读 · 0 评论 -
POJ 3436ACM Computer Factory 网络流
POJ 3436ACM Computer Factory 网络流 一、题意 ACM的电脑由p个部分组成,只有p个部分都存在才能正常工作,现有n台机器,每台机器有三个参数,即:生产效率q,输入标准,输出标准,为了提高生产效率,对这些机器进行重新组网,求最大的生产效率。 二、解题思路 这题可以这样建图:(1)将每台机器看成两个点,入点和出点,对于每台机器的生产效率可以看作,入点和出点之间有一...原创 2016-06-29 16:55:45 · 325 阅读 · 0 评论