BZOJ2150: 部落战争

【传送门:BZOJ2150】


简要题意:

  给出一个矩阵,矩阵上的字符有两种,一种是'x',表示山洞(不可走),一种是'.',表示城镇

  可以在城镇处放士兵,士兵经过的每个城镇都会被占领,士兵只能向下走,而且行走的方式和马相似,不过马走的是1*2,士兵走的是R*C,士兵不能经过一个被占领的城镇

  求出最少派出多少个士兵能够占领所有城镇


题解:

  最小路径覆盖问题,用二分图匹配

  将所有城镇拆成两个集合

  如果x能走到y,则x连向y的第二个集合的点

  然后将总点数-最大匹配数就是最小路径覆盖数了


参考代码:

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<cstdlib>
using namespace std;
char st[51][51];
struct node
{int x,y,next;
}a[21000];int len,last[6100];
void ins(int x,int y)
{len++;a[len].x=x;a[len].y=y;a[len].next=last[x];last[x]=len;
}
int dx[5],dy[5];
int n,m,r,c;
int p(int x,int y){return (x-1)*m+y;}
int match[6100],chw[6100];
bool findmuniu(int x,int t)
{for(int k=last[x];k;k=a[k].next){int y=a[k].y;if(chw[y]!=t){chw[y]=t;if(match[y]==0||findmuniu(match[y],t)==true){match[y]=x;return true;}}}return false;
}
int main()
{scanf("%d%d%d%d",&n,&m,&r,&c);for(int i=1;i<=n;i++) scanf("%s",st[i]+1);len=0;memset(last,0,sizeof(last));dx[1]=r;dy[1]=-c;dx[2]=r;dy[2]=c;dx[3]=c;dy[3]=-r;dx[4]=c;dy[4]=r;int sum=0;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){if(st[i][j]=='.'){sum++;for(int k=1;k<=4;k++){int tx=i+dx[k],ty=j+dy[k];if(tx<1||ty<1||tx>n||ty>m||st[tx][ty]=='x') continue;ins(p(i,j),p(tx,ty)+n*m);}}}}memset(chw,0,sizeof(chw));memset(match,0,sizeof(match));for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){if(st[i][j]=='.'){int t=p(i,j);if(findmuniu(t,t)==true) sum--;}}}printf("%d\n",sum);return 0;
}

 

转载于:https://www.cnblogs.com/Never-mind/p/8630246.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/486572.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络教室教师岗位责任,计算机室网络教室管理员岗位职责.docx

个人精心收集整理.word 可编辑 .欢迎下载支持计算机室、网络教室管理员岗位职责1、微机室担任人岗位职责为保证校园微机室计算机运用作业的顺利进行&#xff0c;为校园的教育及其它作业供给技能、信息材料&#xff0c;全面优质地效劳于校园的教育教育作业&#xff0c;特拟定微机…

又一壮举!GPT-3首次完成剧本创作,AI解决创造性问题的能力正迅速提升

来源&#xff1a;中国智慧城市导刊文章原载于 学术头条自今年 6 月份发布以来&#xff0c;OpenAI 的文本生成人工智能工具 GPT-3 获得了极大的关注。它被用来在论坛上发表评论、写诗、甚至在《卫报》中发表文章。当 GPT-3 没有经过专门培训就学会自动完成某项任务时&#xff0c…

python匿名函数里用for_请问这段Python代码如何用匿名函数简化?

展开全部 楼主你5261好&#xff01; 要解决这道题目并不难&#xff0c;4102只需要理解匿名lambda是如何使用的便可&#xff1b; “lambda 表达式16531&#xff1a;表达式2”其实就是定义了一个函数&#xff0c;传入表达式1的参数&#xff0c;按表达式2的形式返回&#xff0c;因…

需要多长时间达到一个本科毕业生刚毕业的水平。

大学每年在校时间9个月。法定节假日11天&#xff0c;法定休息日104天 实际上学天数&#xff1a;365-11-104*(9/12)-90186 实际学习小时数&#xff1a;8*1861488 4年总计学习小时数&#xff1a;4*14885952 这种学习热情在当今高校中&#xff0c;应该算是个学霸了。 一个上班的人…

Hinton构思下一代神经网络:属于无监督对比学习

本文由机器之心报道Geoffrey Hinton 是谷歌副总裁、工程研究员&#xff0c;也是 Vector Institute 的首席科学顾问、多伦多大学 Emeritus 荣誉教授。2018 年&#xff0c;他与 Yoshua Bengio、Yann LeCun 因对深度学习领域做出的巨大贡献而共同获得图灵奖。自 20 世纪 80 年代开…

win7的计算机最大连接数,win7系统解除共享文件夹最大连接数限制的操作方法

很多小伙伴都遇到过对1、首先在win7系统中点击开始菜单&#xff0c;选择控制面板&#xff1b;2、点击系统和安全&#xff1b;3、点击管理工具&#xff1b;4、点击进入&#xff0c;本地安全策略进行操作设置&#xff1b;5、点击进入&#xff0c;安全设置-本地策略-安全选项”里面…

windows 获取命令执行后的结果_法院判决以后,老赖欠钱不还,递交强制执行申请多久后有结果?...

网友提问&#xff1a;老赖欠钱不还&#xff0c;已向法院递交了强制执行申请一个月了&#xff0c;老赖仍逍遥法外&#xff0c;该怎么办&#xff1f;这个阶段你称之为老赖&#xff0c;也无不可。但还不是法律上所认可的老赖&#xff0c;法律上的老赖也只是个俗称&#xff0c;学名…

spring boot学习(2) SpringBoot 项目属性配置

第一节&#xff1a;项目内置属性 application.properties配置整个项目的&#xff0c;相当于以前的web.xml&#xff1b;注意到上一节的访问HelloWorld时&#xff0c;项目路径也没有加&#xff1b;直接是http://localhost:8080/helloWorld;因为它默认的server.servlet.context-pa…

研究揭示动物社交欲望的神经机制

来源&#xff1a;中国科学院生物物理研究所10月22日&#xff0c;中国科学院生物物理研究所朱岩课题组在Nature Communications上发表题为Social attraction in Drosophila is regulated by the mushroom body and serotonergic system的研究论文&#xff0c;研究以果蝇为模型&a…

魔兽世界怀旧服服务器最新阵营比例,《魔兽世界怀旧服》人口普查2019 阵营及服务器人口比例...

世界怀旧服已经有一段时间了&#xff0c;而具体有多少玩家在怀旧服中呢&#xff1f;不一样的服务器&#xff0c;和的玩家人数是不同的&#xff0c;而就在最近&#xff0c;魔兽世界怀旧服进行了一次玩家统计&#xff0c;那么接下来&#xff0c;就为大家介绍一下魔兽世界怀旧服20…

bat复制文件到指定目录同名_scp复制文件时排除指定文件

请关注本头条号&#xff0c;每天坚持更新原创干货技术文章。如需学习视频&#xff0c;请在微信搜索公众号“智传网优”直接开始自助视频学习1. 前言本文主要讲解如何在scp复制文件时排除指定文件。举例&#xff1a;我需要将所有*.c文件从名为hostA的电脑复制到hostB&#xff0c…

传感器的“脖子”卡在哪儿?

来源&#xff1a;人民政协报昨天胜利闭幕的十九届五中全会研究关于制定“十四五”规划和2035年远景目标的建议。其中加强自主创新、对卡脖子关键技术攻关是重中之重&#xff0c;并将传感器作为“卡脖子”技术攻克目标之一。与此同时美国近期也公布了《关键与新兴技术国家战略》…

服务器大线程有什么作用,全面剖析超线程技术优点与缺点

欢迎各位阅读本篇文章&#xff0c;超线程技术就是利用特殊的硬件指令&#xff0c;把两个逻辑内核模拟成两个物理芯片&#xff0c;让单个处理器都能使用线程级并行计算&#xff0c;进而兼容多线程操作系统和软件&#xff0c;减少了CPU的闲置时间&#xff0c;提高的CPU的运行效率…

遍历矩阵每一行穷举_[LeetCode] 566. 重塑矩阵

题目链接&#xff1a; https://leetcode-cn.com/problems/reshape-the-matrix难度&#xff1a;简单通过率&#xff1a;61.6%题目描述:在MATLAB中&#xff0c;有一个非常有用的函数 reshape&#xff0c;它可以将一个矩阵重塑为另一个大小不同的新矩阵&#xff0c;但保留其原始数…

git push时报错fatal: Could not read from remote repository.

后来发现&#xff0c;出现这个问题是因为仓库地址不对 使用如下命令先查看一下&#xff1a; $ git remote -v 发现跟github的地址不一致 然后在终端输入&#xff1a;git remote set-url origin XXX 然后重新push就可以了 转载于:https://www.cnblogs.com/sjhsszl/p/git.html

Hinton新作!越大的自监督模型,半监督学习需要的标签越少

来源&#xff1a;AI科技评论编译&#xff1a;青暮本文介绍了Hinton团队发表在NeurIPS 2020上的一项研究工作&#xff0c;一作是Ting Chen&#xff0c;研究人员首次在ImageNet上尝试了半监督学习的典型范式&#xff0c;并取得了优越的结果。此外&#xff0c;他们还发现&#xff…

windows css,CSS (Windows) | Microsoft Docs

CSS10/20/20162 分钟可看完本文内容Internet Explorer, as well as Windows apps using JavaScript in Windows 8, adds support for several new Cascading Style Sheets (CSS) features, including new advanced layout, visual effects, and panning and zooming capabiliti…

dataframe第二列 r语言_123.R简介和统计绘图

123R简介和统计绘图本节作者&#xff1a;刘永鑫 中国科学院遗传与发育生物学研究所&#xff1b;陈同 中国中医科学院版本1.0.2&#xff0c;更新日期&#xff1a;2020年8月31日本项目永久地址&#xff1a;https://github.com/YongxinLiu/MicrobiomeStatPlot &#xff0c;本节目录…

脑机接口中的后门攻击

本文来自伍冬睿科学网博客链接地址&#xff1a;http://wap.sciencenet.cn/blog-3418535-1256333.html?mobile1机器学习在脑机接口中的成功应用&#xff0c;使脑机接口得到了快速的发展。然而&#xff0c;对抗攻击的发现让我们不得不重新思考机器学习模型的安全性。这些潜在的危…

联想高性能服务器,Lenovo|EMC推出高性能4x4TB服务器级NAS

作为联想PC战略的延伸和全球企业级战略的重要组成部分&#xff0c;联想与EMC建立起全球范围内的战略合作&#xff0c;并于2013年4月2日在深圳全新推出面向企业市场的联合品牌存储新产品家族。可以说联想与EMC合作是在企业级业务领域的又一重要战略布局。在4月2日的发布会上&…