- 博客(10)
- 收藏
- 关注
原创 poj2195 going home最小费用流
/* 题目描述:题目给出一张n*m的地图,图中 . 表示空格,m表示人,H表示房间,人和房间的数量相同,人每移动一格的长度是1,现要求每个人进到 一间房中,使房间和人一一对应起来,问所有人最小的移动距离是多少。 方法:先用迪杰斯特拉预处理出每个人到每间房的距离; 再利用最小费用流,总共分四列: 第一列是源
2016-07-30 20:55:08 315
原创 POJ2135 Farm Tour 最小费用流
/* 题目描述:给定一张无向图,找两条从点1到点n的不含重复边的路径,使得两条路的距离和最小 方法:其实如果想到使用最小费用流就不太难了,但关键是不容易想到...... 首先按照题目中所给的边建图,每条边的容量为1,费用为给定边的长度; 源节点连向点1,容量为2,费用为0, 点n连向汇点,容量为2,费用为
2016-07-30 19:24:39 282
原创 hdu3046 pleasant sheep and big big wolf 最小割
/* 题目描述:在一张n*m的地图上有0(空地)、1(吸氧羊)、2(灰太狼),现在通过在格与格之间放置单位长度的篱笆使得羊与狼不接触, 问最少放置多少篱笆 方法:由隔断的概念想到图上割的概念(类似Uva1515),那么,要怎么隔断呢?在放篱笆的时候,1与1之间,2与2之间放篱笆显然是无意义的, 但除此之外的格与格之间放篱笆都有可能是合理的。
2016-07-30 16:00:21 317
原创 hdu4322 Candy 最小费用最大流
/* 题目描述:有n种糖果和m个小孩,每个小孩有一个要求的愉悦度b[i],给出一个n*m的like矩阵,若like[i][j]=1说明i小孩喜欢j糖果,那么如果 将j糖果分给i小孩则i小孩将获得K点愉悦度,若like[i][j] = 0,那么如果将i糖果分给j小孩,那么i小孩将获得1点愉悦度,求问有没有糖果的分配方 案使得每个小孩都满足其要求的
2016-07-30 10:34:19 378
原创 SGU326 perspective 最大流 竞赛排名问题
/* 题目大意:有n支NBA球队,这些队伍属于同一个半区,已知各队目前已经赢了几场以及还要打几场(赢了的场次和没打的场次不一定是和 相同半区内的对手),另外已知一个n * n的矩阵,a[i][j]代表i和j还要打的比赛场数。根据这些条件,请问队伍1有没有获得半区冠军的可能性 (若积分相同则均为冠军); 方法:构出图来是四列的网络流问题:第一列为源点,
2016-07-29 22:08:49 782
原创 poj2112 Optimal Milking 最大流(含经典最大流问题总结)
/* 典型的最大流问题,图中点分成四列:源节点source,牛,机器,汇节点sink; 源点向所有牛的点连接容量为1的边,所有机器的点向汇节点连接容量为m的边,问题是走的最远的牛行走的路程最近,想到利用二分法: 而分出一个答案x,对于每一头牛的点,与距离他的长度小于x的机器(牛与机器距离提前用Floyd预处理)连一条边,表示该头牛能走到
2016-07-29 20:22:31 388
原创 hdu4587 TWO NODES 求割点
/* 在一个图中,删除两个点以后,问图最多能变成多少块? 思路:先枚举删除的第一个点del,然后从剩下的点中dfs求割点,iscut[u]记录有多少个连通分支可以使得u成为割点, 那么删除u后该块就被分为了iscut[u]+1块(根节点为割点则应被分为iscut[u]块,为保持形式统一令iscut[root]--), 在dfs求割点的
2016-07-29 10:06:20 267
原创 hdu3671 Bonnie and Clyde 求割点
/* 从一个图当中去掉两个节点使得图不联通的方法有多少种 首先枚举去掉的第一个点,去掉第一个点之后 1. 图已经不连通且分为两块: a.这两块各含一个节点,此时无法通过再去掉一个点使图不连通; b.其中一块只含一个节点,另一块有多个节点,此时从含多个结点的块中任取一个搭配去掉的第一个节点, 共有n - 2
2016-07-28 20:16:52 402
原创 HDU1588 Gauss Fibonacci (矩阵快速幂+等比数列二分求和)
Problem DescriptionWithout expecting, Angel replied quickly.She says: "I'v heard that you'r a very clever boy. So if you wanna me be your GF, you should solve the problem called GF~. "How good a
2016-07-21 09:47:52 427
原创 uva1515
这个题属于最大流算法的灵活运用~~首先像刘汝佳所说的,根据“隔开”想到了割的概念,那么就可以把草放在一列,把洞放在一列,砍断每一条边的费用是b;现在引入源节点s和汇点t,s连接所有的草,砍断每条边的费用是d,t连接所有的洞,砍断每条费用是f,然后相邻的草和草之间连上边,相邻的洞和洞之间连上边;现在要是想隔断s和t,隔断s和t的最小割就是问题的答案了,为什么这么说呢?首先,考虑将
2016-07-18 12:35:48 998 3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人