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

AtCoder AT_abc407_d [ABC407D] Domino Covering XOR

题目大意

H × W H\times W H×W 的矩阵,第 i i i 行第 j j j 列的数记为 a i , j a_{i,j} ai,j,现在要往上面铺若干(可以为零)块多米诺骨牌。多米诺骨牌是一个 1 × 2 1\times2 1×2 或者 2 × 1 2\times1 2×1 的长方形,能盖住两个数。问没有被盖住的数的异或和的最大值是多少。

思路

发现数据范围中保证了 H W ≤ 20 HW\le20 HW20,然后考虑到多米诺骨牌只能是相邻的两个格,所以爆搜就能过。由于数据范围太小了,所以可以采用如下的结构进行搜索:

dfs(x, y, k): 如果已经全部搜完ans = max(ans, k)返回如果这个格已经被多米诺骨牌盖住搜索下一个返回不放置多米诺骨牌,搜索下一个放置多米诺骨牌,标记当前位置,枚举所有可能的位置如果越界或者已经被盖住跳过标记计算异或和并搜索下一个取消标记

标记可以使用回溯法,用一个二维数组;计算异或和直接使用 ^ 符号。

代码

AC 记录:Submission #66114498。

由于已经给出了伪代码,不再给出详细代码,如有需要请私信联系。

相关文章:

  • JavaScript从入门到精通(一)
  • 深入理解Redis线程模型
  • stable diffusion论文解读
  • RabbitMQ 概述
  • MMaDA——开源首个多模态大扩散语言模型
  • 常见实验室器材采购渠道分享
  • 【软考向】Chapter 2 程序设计语言基础知识
  • DAY 35
  • 【Java Web】3.SpringBootWeb请求响应
  • 软件测试文档怎么写?软件渗透测试报告
  • 【R语言科研编程-散点图】
  • commonmark.js 源码阅读(二) - Inline Parser
  • R基于多元线性回归模型实现汽车燃油效率预测及SHAP值解释项目实战
  • 使用Spring Boot和Redis实现高效缓存机制
  • HarmonyOS:相机管理
  • Spring Boot微服务架构(四):微服务的划分原则
  • 工业智能网关建立烤漆设备故障预警及远程诊断系统
  • C++性能相关的部分内容
  • LABVIEW 通过节点属性动态改变数值显示控件的方法
  • 解决 cursor 中不能进入 conda 虚拟环境
  • 网站负责人拍照/手机系统优化工具
  • 旅行社网站建设方案/在线培训系统平台
  • 怎么创建个网站/it培训机构哪家好
  • 做网站用什么服务器/友情链接多久有效果
  • 牡丹花网站建设策划书/全网推广的方式有哪些
  • 汉子由来 外国人做的网站/seo是什么车