机房水题欢乐赛 2016-04-21 上午 图论

23 篇文章 0 订阅
18 篇文章 0 订阅

水炸了。。

Asteroids

【题目描述】

N*N的方阵中有k个怪兽,每开一枪可以杀死一行或者一列中的所有怪兽。至少要开多少枪。

【输入描述】

第一行n,k
接下来k行,每一行一个坐标,表示对应的位置有怪兽

【输出描述】

一行为答案

【输入样例】

3 4
1 1
1 3
2 2
3 2

【输出样例】

2

【样例解释】

输入如下
X.X
.X.
.X.
X表示怪兽所在位置

【数据约定】

100%数据:N<=500,k<=1e5

Solution

为每行每列开个点,存在怪兽的格子连接所在行列表示的2个点,跑一次二分图最大匹配即可。

Boxes

2s,256M

【题目描述】

现在有n(<=1000)个盒子排成一圈,每个盒子里有一些小球或者没有小球,现在你可以对小球操作,每个小球移动到相邻盒子的一次代价为1,现在问最少花多少代价使得每个盒子里至少1个球。

【输入描述】

第一行为T(<5),表示数据组数。
对于每一组数据有2行,第一行为n,第二行n个数为每个盒子的情况,保证小球总数>=n

【输出描述】

输出T行,每一行为对于输入的答案

【输入样例】

1
4
2 0 0 2

【输出样例】

2

【数据约定】

50%数据:n<=50

Solution

明显的流动性,考虑费用流
用(a->b,c,d)表示建立a到b的边,容量为c,费用为d,有
(s,i,b[i],0)
(i,t,1,0)
(i,i+1,inf,1)
(i,i-1,inf,1)

好像有点问题。。
比如数据?
20
4 0 0 0 0 6 0 0 0 0 0 0 0 0 0 10 0 0 10 1

Cactus

http://blog.csdn.net/huanghongxun/article/details/51206589

Wormholes

【题目描述】

给出一张N个点的图,其中有M条带正权的双向边,有W条带负权的单向边。
试判断图中是否存在一个权和为负的环。

【输入描述】

第一行为数据组数F
对于每一组数据:
第一行为n,m,w
接下来m+w行,每行三个数,描述了各自类型的边。
先是M条带正权的双向边,再W条带负权的单向边。

【输出描述】

输出F行,为”YES”或”NO”

【输入样例】

2
3 3 1
1 2 2
1 3 4
2 3 1
3 1 3
3 2 1
1 2 3
2 3 4
3 1 8

【输出样例】

NO
YES

【数据约定】

数据组数不超过20组,n<=500,m+w<=10000

Solution

SPFA Bellman-Ford随便用。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值