题目名称 | 1632. 搬运工 |
---|---|
输入输出 | worker.in/out |
难度等级 | ★★ |
时间限制 | 1000 ms (1 s) |
内存限制 | 256 MiB |
测试数据 | 10 |
题目来源 | OI永别 于2014-05-13加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:35, 提交:51, 通过率:68.63% | ||||
AntiLeaf | 100 | 0.000 s | 0.00 MiB | C++ |
Shirry | 100 | 0.000 s | 0.00 MiB | C++ |
new ioer | 100 | 0.004 s | 1.38 MiB | C++ |
Hzoi_chairman | 100 | 0.005 s | 1.46 MiB | C++ |
RP++ | 100 | 0.005 s | 1.47 MiB | C++ |
真呆菌 | 100 | 0.005 s | 1.92 MiB | C++ |
Hzoi_chairman | 100 | 0.008 s | 1.31 MiB | C++ |
OI永别 | 100 | 0.008 s | 1.54 MiB | C++ |
digital-T | 100 | 0.009 s | 0.33 MiB | C++ |
bbsh | 100 | 0.009 s | 1.54 MiB | C++ |
关于 搬运工 的近10条评论(全部评论) | ||||
---|---|---|---|---|
好神啊
Shirry
2017-05-03 22:04
5楼
| ||||
好神啊……
真呆菌
2015-04-01 15:31
4楼
| ||||
吐槽,内个不是他想的,吐槽=——=
◆半城烟沙灬為你打天下
2014-05-14 19:15
3楼
| ||||
回复 @丿Nice丶蒙奇 :
太神了
,
2014-05-14 15:31
2楼
| ||||
这是个很经典的二分图模型。以行为二分图的x部,列为二分图的y部。若格子(x, y)需要被消除,则连一条从x到y的边。最少次数即为二分图的最小点覆盖数。易证最小点覆盖数等于二分图的最大匹配数。 |
小涵向小宇推荐了一款小游戏。
游戏是这样的,在一个n*n的地图中,有若干个格子上有障碍物。你需要雇佣搬运工,将这些障碍物全部清除。不过每次操作你只能让搬运工将某一行或者某一列的障碍物全部清除。如果你让搬运工清除第i行障碍物,需要付出ai元;如果你让搬运工清除第j列障碍物,需要付出bj元。
小涵告诉小宇,必须用尽可能少的次数消除这些障碍物。若有多种方案,则必须花费尽量少的费用。结果小宇想了很久仍然没有闯过第一关,只好向你求助了。
第1行,一个正整数n。
第2~n+1行,每行n个字符。第i+1行的第j个字符表示地图的坐标(i, j)的格子(左上角为起点(1, 1))。’*’表示障碍,’.’表示空格。
第n+2行,n个正整数,第i个数表示清除地图第i行的费用。
第n+3行,n个正整数,第i个数表示清除地图第i列的费用。
输出2行。第1行是最少次数,第2行是在最少次数的前提下费用的最小值。
3 ... .*. **. 10 5 17 1 8 4
2 9
30%的数据满足对于任意i和j(1 <= i, j <= n),有ai = bj。
100%的数据满足1 <= n <= 200,0 <= ai, bj <= 100.
[样例说明]一共有三个障碍物,坐标分别是(2, 2), (3, 1), (3, 2)。消除第1列和第2列是最优方案。
HZOI