当前位置: 首页 > news >正文

盘锦网站制作公司广州网站建设新锐

盘锦网站制作公司,广州网站建设新锐,南京 app开发公司,合肥建设云个人服务平台题目描述 题目分析 仔细分析这道题以后虽然觉得可能要转化为图之类的#xff0c;但是完全没有具体的想法#xff0c;因为每个格子都有三种情况#xff0c;这三种情况的不同的组合又会产生不同的结果。 发现找不到编码转化为图以后#xff0c;我分析了一下不同数量方块之间…题目描述 题目分析 仔细分析这道题以后虽然觉得可能要转化为图之类的但是完全没有具体的想法因为每个格子都有三种情况这三种情况的不同的组合又会产生不同的结果。 发现找不到编码转化为图以后我分析了一下不同数量方块之间的联系试图找到像递归一样的关系。发现也没有找到关键是边长小的方块四周会有边但是将其放到大方块中并没有这些边而且他们的边界还会组合。 在没有思路之后我看了一下题解发现题解最巧妙的地方在于将每一个单元块再次划分为四个小块从而将原先三种情况统一了起来每种情况是这四个小块的不同组合方式。然后块与块之间同样通过小块进行拼接。然后再使用并差集得到联通块的个数。 总结 分解以后使用并查集得到联通分量的个数这个是非常简单的但是关键在于分解这步自己没有想到。以后遇到问题不应该仅仅思考问题的拼接、分类讨论、递归而且也应该考虑一下所谓的分类情况能否再进行分解从而将各种分类统一起来。 AC代码 class UnionSet { public:int n;int setCount;vectorint father;vectorint size;UnionSet(int _n):n(_n),setCount(_n),father(_n),size(_n, 1) {iota(father.begin(), father.end(), 0);}int root(int x) {//路径压缩return x father[x] ? x : father[x] root(father[x]);}bool unite(int x, int y) {x root(x);y root(y);if (x y) {return false;}if (size[x] size[y]) {//按秩合并swap(x, y);}father[y] x;size[x] size[y];--setCount;return true;} }; class Solution { public:int regionsBySlashes(vectorstring grid) {int n grid.size();UnionSet us(4 * n * n);for (int i 0; i n; i) {int idx 0; //用于指向对应的字符for (int j 0; j n; j, idx) {int base (i * n j) * 4; //哈希值switch (grid[i][idx]) {case ://空格将四个块全部合并us.unite(base 0, base 1);us.unite(base 0, base 2);us.unite(base 0, base 3);break;case /://斜杠us.unite(base 0, base 3);us.unite(base 1, base 2);break;case \\://反斜杠us.unite(base 0, base 1);us.unite(base 2, base 3);//idx; //因为反斜杠有两个break;}//完成和右边块和下边块的拼接if (j 1 n) {//右边块存在int baser base 4;us.unite(base 1, baser 3);}if (i 1 n) {//下边块存在int baseb 4 * ((i 1) * n j);us.unite(base 2, baseb 0);}}}//最后联通块的个数return us.setCount;} };官方题解是用Java写的这里就不再贴出。刚开始看到题目中说反斜杠是两个我还想着要对反斜杠特殊处理代码中的idx变量结果真的只是编码输出的问题。。。
http://www.yutouwan.com/news/497056/

相关文章:

  • 网站 建设设计什么网站有项目做
  • 武冈做网站网站代码怎么看
  • 合肥网站建设q479185700強官方网站怎么查询
  • 廊坊网站建设冀icp备wordpress 4.7.1
  • 长春做网站选长春万网音乐网站建设成本
  • 玉树电子商务网站建设哪家好wordpress+怎么迁移
  • 天津市住房和城乡建设局网站海南省住房城乡建设厅网站首页
  • 怎么做一购物网站WordPress网站hym地图
  • 医药网站建设需要注意点企业网站建设合同书标准版
  • 长春建一个网站大概要多少钱wordpress 鼠标 效果
  • 织梦cms发布侵权网站清单58同城网站建设思路
  • php零基础做网站森动网网站建设好吗
  • 网站前期建设建筑专业律师事务所
  • 网站 多服务器浙江杭州下沙做网站
  • 公共部门网站建设维护龙泉市住房和城乡建设局网站
  • 怎么做网站的关键词库大数据专业主要学什么
  • 淘宝客怎么做网站推广网站描述优化
  • 大学网站建设论文网站的建设包括那几个模块
  • 和平东路网站建设建一个大型网站多少钱
  • 个人微网站怎么做网页管理系统怎么制作
  • 那种类型的网站可以自己做也可以赚钱成都犀牛网站建设
  • 自助旅游网站开发分析报告广东专业的网站制作
  • 花样云做网站怎样网站开发与设计案例
  • 保护环境做网站素材主题库 wordpress
  • 电子商务网站建设规划书的内容校本教研网站建设方案
  • 在哪查网站备案久久建筑网会员登陆中心
  • 有了域名怎样做淘客网站天津电商网站开发
  • 中国建设银行行网站wordpress找不到页面
  • 企业门户网站建设方案及报价昆明中小企业网站建设
  • 高网站排名吗专科网站开发简历