C - Matrix Reducing
freee Programming Contest 2022(AtCoder Beginner Contest 264)
C - Matrix Reducing
题意
给你一个长和宽为h1,w1h1, w1h1,w1的二维数组aaa,和一个长和宽为h2,w2h2, w2h2,w2的二维数组bbb,问你能否删除aaa数组中的一些行和列使得a=ba = ba=b。
数据范围
1⩽h2⩽h1⩽101 \leqslant h2 \leqslant h1 \leqslant 101⩽h2⩽h1⩽10
1⩽w2⩽w1⩽101 \leqslant w2 \leqslant w1 \leqslant 101⩽w2⩽w1⩽10
思路
数据范围很小,可以采用二进制枚举。假如对于行而言一个二进制数
100001000100001000100001000
则表示第444行和第999行删除,其余行保留。列也同理。
时间复杂度
2h1∗2w1∗h2∗w22 ^ {h_1} * 2 ^{w_1} * h_2 * w_22h1∗2w1∗h2∗w2
/*
二进制枚举
*/
#include <bits/stdc++.h>
using namespace std;
const int N = 15;
int h1, h2, w1, w2;
int a[N][N], b[N][N];
int main(){cin >> h1 >> w1;for(int i = 1; i <= h1; i ++ ) for(int j = 1; j <= w1; j ++ ) cin >> a[i][j];cin >> h2 >> w2;for(int i = 1; i <= h2; i ++ ) for(int j = 1; j <= w2; j ++ ) cin >> b[i][j];for(int i = 0; i < (1 << h1); i ++ ){for(int j = 0; j < (1 << w1); j ++ ){vector<int>x,y;for(int k = 1; k <= h1; k ++ ) if(i & (1 << (k - 1))) x.push_back(k);for(int k = 1; k <= w1; k ++ ) if(j & (1 << (k - 1))) y.push_back(k);if(x.size() != h2 || y.size() != w2) continue;bool match = true;for(int k = 1; k <= h2; k ++ ){for(int l = 1; l <= w2; l ++ ){if(a[x[k - 1]][y[l - 1]] != b[k][l]){match = false;break;}}}if(match){puts("Yes");return 0;}}} puts("No");return 0;
}
C - Matrix Reducing相关推荐
- Bundle Adjustment (BA) in vSLAM or SFM
文章目录 Overview BA as a NonLinear Least Squares Problem Solved with LM JTJ\mathbf{J}^T \mathbf{J}JTJ s ...
- freee Programming Contest 2022(AtCoder Beginner Contest 264)A~D题详细讲解
目录 博主赛情 网站链接 比赛简介 Contest Information Reason why freee needs AtCoder users freee's business content ...
- freee Programming Contest 2022(AtCoder Beginner Contest 264) 题解 (A~D)
A - "atcoder".substr() Time Limit: 2 sec / Memory Limit: 1024 MB Score : 100100100 points ...
- Android 自定义View ——Matrix (矩阵)
Matrix的作用: Matrix类包含一个3x3矩阵,用于转换坐标 Matrix (矩阵) 的原理很遗憾自己目前也是含糊的很,这里就不说了,记录自己在项目使用的方法, 这里就简单的记录下Matrix ...
- Codeforces 903F Clear The Matrix(状态压缩DP)
题目链接 Clear The Matrix 题意 给定一个$4 * n$的矩形,里面的元素为$'.'$或$'*'$.现在有$4$种正方形可以覆盖掉$'*'$,正方形的边长分别为$1,2,3,4$. 求 ...
- ie旋转滤镜Matrix
旋转一个元素算是一个比较常见的需求了吧,在支持CSS3的浏览器中可以使用transform很容易地实现,这里有介绍:http://www.css88.com/archives/2168,这里有演示ht ...
- Eigen(1):Matrix模板类
Matrix是一个模板类,利用模板类可以定义矩阵类. 矩阵类模板: 1Matrix类有6个模板参数,只需要了解前3个就好了. Matrix<typename Scalar, int RowsAt ...
- CUDA Samples: matrix multiplication(C = A * B)
以下CUDA sample是分别用C++和CUDA实现的两矩阵相乘运算code即C= A*B,CUDA中包含了两种核函数的实现方法,第一种方法来自于CUDA Samples\v8.0\0_Simple ...
- 二维码Data Matrix的解码实现(zxing-cpp)
二维码Data Matrix的介绍可以参考http://blog.csdn.net/fengbingchun/article/details/44279967 ,以下是通过zxing-cpp开源库实现 ...
- 二维码Data Matrix编码、解码使用举例
二维码Data Matrix的介绍见: http://blog.csdn.net/fengbingchun/article/details/44279967 ,这里简单写了个生成二维码和对二维码进行 ...
最新文章
- matlab实战系列之人工鱼群算法求解TSP问题原理解析(下篇源码解析)
- javascript对象操作总结
- wait()和waitpid()的参数解析
- “智企云中享“,首届SAP中国云大会召开
- 初步看,我要在公司赚取更多的工资,钱多活少离家近
- android 调用wcf json,使用 JSONP
- windows libusb打开失败_如何彻底解决windows更新问题!
- 自制固件iOS4.1刷机、解锁教程
- matlab 模式识别工具箱下载,模式识别matlab工具箱
- 基于Cocos2d-x游戏引擎实战开发炸弹超人
- [小白slam攻略]ROVIO安装运行及保存轨迹用evo评估
- 两篇超好的C#操作并口和串口的文章
- 《落》用计算机弹,《坦克世界》里的防崩落内衬和水套的意思?AP弹和HE弹的具体用法(主流坦克哪些平适合AP哪些适合HE)?...
- 当往日悄然走远,只留下清澈的心
- 中国手机市场惊蛰降临:从Counterpoint数据看2020年的5G未来
- GStreamer基础教程02——GStreamer概念
- 微信小程序----封装request以及对接口进行模块化
- 前端 JS实现彩票开奖走势图 连线
- 音频转文字软件有哪些?推荐几个录音转文字工具
- 【IBM官方文档】DB2 SQLSTATE 消息
热门文章
- 华为路由器 环回互通实验(顺时针)
- Proximal Algorithms 1 介绍
- 通过摄像机视频设备或者流媒体服务器SDK获取到数据转换成RTMP流实现网页手机微信播放
- python微信转账记录_python 处理微信对账单数据的实例代码
- C# excel 删除重复
- linux执行 ifconfig 命令 eth0没有IP地址(intet addr、Bcast、Mask)
- 一级路由器静态路由访问二级路由器的方法二
- harmonyos蓝牙,Microbit蓝牙配对 (Bluetooth Pairing)
- android屏幕大小字体大小,Android字体大小自适应不同分辨率的解决办法
- Harbor未授权创建管理员漏洞(CVE-2019-16097)