SPOJ 13041 BNU 28769 The Black Riders 二分+费用流 建图

题目链接:

题意:

给定n个人 m个逃生洞穴 至少k个人进入逃生洞穴 挖洞时间c

下面n*m的矩阵表示每个人到每个洞需要的时间。

一个洞穴开始只能容纳一个人,可以被拓展一次,即变成可以容纳2个人(一个洞穴只能被拓展一次)

当a进入洞穴后不会开始拓展,直到有一个人b在洞穴门口等,a才会开始拓展空间,拓展的时间的c,c时间后b才能进入洞穴。

问至少k个人进入洞穴的最短时间。(数据保证有解)

我们可以认为一个洞穴里面有2个房间,而第二个房间就相当于某个人跑到了这个洞穴然后这个人自己开始挖,则花费就是到达洞穴的时间+c

跑个费用流,看最后流量是否>=k

把洞穴拆成2个点,人和源点建边,洞穴的2个拆点都和汇点建边。

每个人和洞穴的2个点建边,流量是1,费用是距离,这样对于每个人一定是先跑进第一个房间,因为费用小,则当这个人跑到第二个房间时说明第一个房间一定有人了。

时间: 2024-08-03 02:57:28

SPOJ 13041 BNU 28769 The Black Riders 二分+费用流 建图的相关文章

Light oj 1149--Factors and Multiples【二分匹配 && 经典建图】

1149 - Factors and Multiples PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 MB You will be given two sets of integers. Let's call them set A and set B. Set A contains n elements and set B contains m elements. You have to remo

POJ 2724 奶酪消毒机 二分匹配 建图 比较难想

Purifying Machine Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 5004   Accepted: 1444 Description Mike is the owner of a cheese factory. He has 2N cheeses and each cheese is given a binary number from 00...0 to 11...1. To keep his chee

【Luogu】P3705新生舞会(费用流+分数规划+二分答案)

题目链接 本来以为自己可以做出来,结果……打脸了 (貌似来wc立了好几个flag了,都没竖起来) 不过乱蒙能蒙出一个叫“分数规划”的东西的式子还是很开心的 观察$C=\frac{a_{1}+a_{2}+.......+a_{n}}{b_{1}+b_{2}+.....b_{n}}$ 然后可以把分母乘到左边 然后可以把C乘进去 然后二分C,建图求最大权匹配,判断跟答案的关系. #include<cstdio> #include<cstdlib> #include<cctype&g

SPOJ AMR12A The Black Riders --二分+二分图最大匹配

题意:有n个人,m个洞.每个洞能容纳一个人,每个人到每个洞需要花费一些时间.每个人到达一个洞后可以花C的时间来挖一个洞,并且最多挖一个洞,这样又能多容纳一人.求能使至少K个人进洞的最短时间. 解法:看到n个人和m个洞,并且人要进洞容易想到二分匹配,又是求极值的问题,应该是最大匹配.由于直接求极值不好求,可以将求极值问题转化为判定问题,即二分最短时间,然后判定能否达到.判定时,如果i到j的时间小于等于mid,就将i和j连一条边,如果T[i][j]+C <= mid 说明还来得及挖洞,将i和j+m连

SPOJ RENT 01背包的活用+二分

这个题目给定N航班的发出时间和结束时间以及价值,要求不冲突时间的最大价值 第一时间想到经典的N方DP,即对航班按发出时间排一下序之后每个i对前面的都扫一遍 时间过不了N有10万,只能想优化了,一开始想了个用树状数组记录每次加入某个航班之后 后面的所有在结束时间后的区间全部可以加一个最大值,但是首先时间区间的量更大,而且树状数组不好这么操作 后来实在没见过这种DP,还是看的别人的算法,还是挺叼的,不过其实还是沿用的背包思想 对于每个航班区间,我只需要考虑取或者不取,这样的话,对航班按出发时间S排序

POJ 2455 Secret Milking Machine(二分+最大流)

POJ 2455 Secret Milking Machine 题目链接 题意:一个无向图,要求有T条不重复道路可以从1走到t,问道路中最大边的最小值可以是多少 思路:二分+最大流,二分长度,连起边,注意是无向图,所以反向边是有容量的,然后源点和1连容量t,n和汇点连容量是t 代码: #include <cstdio> #include <cstring> #include <queue> #include <algorithm> using namespa

POJ 2112 最大流+二分+(建图:最重要的)

Optimal Milking Time Limit: 2000MS   Memory Limit: 30000K Total Submissions: 12521   Accepted: 4524 Case Time Limit: 1000MS Description FJ has moved his K (1 <= K <= 30) milking machines out into the cow pastures among the C (1 <= C <= 200) co

UValive3268 Jamie&#39;s Contact Groups(二分+最大流)

题目地址:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1269 Jamie is a very popular girl and has quite a lot of friends, so she always keeps a very long contact list in her cell phone. The c

poj2455Secret Milking Machine【二分 + 最大流】

Secret Milking Machine Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 9129   Accepted: 2742 Description Farmer John is constructing a new milking machine and wishes to keep it secret as long as possible. He has hidden in it deep within