博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[WC2008]游览计划
阅读量:5282 次
发布时间:2019-06-14

本文共 1494 字,大约阅读时间需要 4 分钟。

【题目描述】

从未来过绍兴的小 D 有幸参加了Winter Camp 2008,他被这座历史名城的秀丽风景所吸引,强烈要求游览绍兴及其周边的所有景点。

主办者将绍兴划分为 N 行M 列(N×M)个方块,如下图(8×8)

 

 

景点含于方块内,且一个方块至多有一个景点。无景点的方块视为路。

为了保证安全与便利,主办方依据路况和治安状况,在非景点的一些方块内安排不同数量的志愿者;在景点内聘请导游(导游不是志愿者)。在选择旅游方案时,保证任意两个景点之间,存在一条路径,在这条路径所经过的每一个方块都有志愿者或者该方块为景点。既能满足选手们游览的需要,又能够让志愿者的总数最少。

例如,在上面的例子中,在每个没有景点的方块中填入一个数字,表示控制

该方块最少需要的志愿者数目:

 

 

图中用深色标出的方块区域就是一种可行的志愿者安排方案,一共需要20名志愿者。由图可见,两个相邻的景点是直接(有景点内的路)连通的(如沈园和八字桥)。

现在,希望你能够帮助主办方找到一种最好的安排方案。

【输入格式】

输入文件中 trip.in 中第一行有两个整数,N 和M,描述方块的数目。

接下来 N 行,每行有M 个非负整数,如果该整数为0,则该方块为一个景点;否则表示控制该方块至少需要的志愿者数目。相邻的整数用(若干个)空格隔开,行首行末也可能有多余的空格。

【输出格式】

输出一行一个整数,即最少的志愿者总数。

【样例输入】

4 40 1 1 02 5 5 11 5 5 10 1 1 0

【样例输出】

6

【提示】

样例方案:

其中红色方块安排了志愿者。

 

所有的 10 组数据中N, M ,以及景点数 K 的范围规定如下:

输入文件中的所有整数均不小于 0 且不超过2^16。

 

 

题解:

裸斯坦纳树,直接spfa+子集dp,暴力更新就行.

 

1 #include 
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 using namespace std; 9 typedef pair
par;10 const int N=12;11 int n,m,INF,map[N][N],f[N][N][1<<10],S=0,mx[4]={ 0,0,1,-1},my[4]={ 1,-1,0,0};12 bool vis[N][N];13 queue
q;14 void spfa(int k){15 for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)16 if(f[i][j][k]!=INF)17 q.push(par(i,j));18 int x,y,tx,ty;19 while(!q.empty()){20 x=q.front().first;y=q.front().second;q.pop();21 for(int i=0;i<4;i++){22 tx=x+mx[i];ty=y+my[i];23 if(tx<1 || tx>n || ty<1 || ty>m)continue;24 if(f[x][y][k]+map[tx][ty]

 

转载于:https://www.cnblogs.com/Yuzao/p/7196883.html

你可能感兴趣的文章
重新学习python系列(二)? WTF?
查看>>
shell脚本统计文件中单词的个数
查看>>
SPCE061A学习笔记
查看>>
sql 函数
查看>>
hdu 2807 The Shortest Path 矩阵
查看>>
熟悉项目需求,要知道产品增删修改了哪些内容,才会更快更准确的在该项目入手。...
查看>>
JavaScript 变量
查看>>
java实用类
查看>>
smarty模板自定义变量
查看>>
研究称90%的癌症由非健康生活习惯导致
查看>>
命令行启动Win7系统操作部分功能
查看>>
排序sort (一)
查看>>
Parrot虚拟机
查看>>
Teamcenter10 step-by-step installation in Linux env-Oracle Server Patch
查看>>
Struts2学习(三)
查看>>
Callable和Runnable和FutureTask
查看>>
GitHub 多人协作开发 三种方式:
查看>>
文本域添加编辑器
查看>>
Yum安装MySQL以及相关目录路径和修改目录
查看>>
java获取hostIp和hostName
查看>>