牛客国庆集训派对Day2 - A 矩阵乘法 (分块)

为什么银行接口非要P10文件?一文搞懂数字证书背后的安全机制 本文深入解析银行接口对接中P10文件的核心作用及其背后的数字证书安全机制。通过剖析PKCS#10标准、双向认证体系和证书生命周期管理,揭示银行级API通信的安全设计哲学,并针对常见问题提供实用解决方案,帮助开发者确保金融数据传输的安全性。 阅读详情

https://www.nowcoder.com/acm/contest/202/A

题意:

给你两个矩阵,做乘法之后,算出所有元素异或后的答案。

 

POINT:

把N x P, P x M的两个矩阵,都对p分为每8个一份。

对n行的p个数,每8个数一组,把所有选取的状态全部处理出来,8个数选或不选,就是2^8=256种情况。

算出每种状态的和。效率为o(n*p*256)。

然后把第二个矩阵也8个8个处理,不过这8个01就是我们对应的状态了。

 

然后对于每一行(1-n),这p/8个数,对应的状态直接套上,相当于O1查询了。

 

#include <stdio.h>
#include <vector>
#include <iostream>
#include <algorithm>
#include <string.h>
#include <queue>
using namespace std;
#define LL long long
const int N = 1111+55;

int sum[4100][10][300];
int kind[4100][10];
int b[4100][70];
int a[4100][70];

int main()
{
	int n,p,m;
	scanf("%d%d%d",&n,&p,&m);
	for(int i=0;i<n;i++){
		for(int j=0;j<p;j++){
			scanf("%x",&a[i][j]);
		}
	}
	for(int i=0;i<m;i++){
		char s[70];
		scanf("%s",s);
		for(int j=0;j<p;j++){
			b[i][j]=s[j]-'0';
		}
	}
	p=(p-1)/8+1;
	for(int i=0;i<n;i++){
		for(int j=0;j<p;j++){
			int pos=j*8;
			for(int k=0;k<256;k++){
				int s=0;
				for(int x=0;x<8;x++){
					if(k&(1<<x)) s+=a[i][pos+x];
				}
				sum[i][j][k]=s;
			}
		}
	}
	for(int i=0;i<m;i++){
		for(int j=0;j<p;j++){
			int pos=j*8;
			int now=0;
			for(int k=0;k<8;k++){
				if(b[i][pos+k])
					now|=1<<k;
			}
			kind[i][j]=now;
		}
	}
	int ans=0;
	for(int i=0;i<n;i++){
		for(int j=0;j<m;j++){
			int s=0;
			for(int k=0;k<p;k++){
				s+=sum[i][k][kind[j][k]];
			}
			ans=ans^s;
		}
	}
	printf("%d\n",ans);
}





 

南邮-软件设计实验(C++版) 南邮软件设计 A档 一、分数统计 课题内容:   设计一个分数统计程序。包括学生信息的输入输出以及排序。通过该课题全面熟悉数组、字符串、文件的使用,掌握程序设计的基本方法及友好界面的设计。 课题要求: (1)输入某班级学生的姓名、分数; (2)对(1)的分数进行降幂排列并输出; (3)具有输入输出界面。 示例代码: #include<bits/stdc++.h> using... 阅读详情

相关推荐

用nTopology五分钟生成三维Voronoi泡沫:节点式建模从原理到实操

多孔结构在增材制造与轻量化设计中应用广泛,其中Voronoi泡沫因其优异的缓冲吸能和比刚度表现备受关注。传统CAD建模需处理复杂布尔运算和网格修复,而隐式建模通过数学场描述几何体,将空间距离与密度分布转化为可视化节点,大幅降低操作门槛。nTopology基于场驱动与参数化逻辑,无需编写命令,即可实时调节胞元尺寸、壁厚及随机种子,快速生成可打印的泡沫实体。这种工作流适用于缓冲垫、医疗植入体、航空支架等场景,也为梯度密度结构与力学仿真验证提供了高效路径。本文围绕三维Voronoi泡沫的生成原理与节点操作流程,详

weixin_26767391的博客 145

矩阵乘法问题

题目描述 如果A是个x行y列的矩阵,B是个y行z列的矩阵,把A和B相乘,其结果将是另一个x行z列的矩阵C。这个矩阵的每个元素是由下面的公式决定的 输入描述: 输入包含多组数据,每组数据包含: 第一行包含一个正整数x,代表第一个矩阵的行数 第二行包含一个正整数y,代表第一个矩阵的列数和第二个矩阵的行数 第三行包含一个正整数z,代表第二个矩阵的列数 之后x行,每行y个整数,代表第一个矩阵的值 之后y行,每行z个整数,代表第二个矩阵的值 输出描述: 对于每组输入数据,输出x行,每行z个整

豌豆果果 882

利用ArcGIS创建渔网计算渔网内土地利用占比划分中国北方农牧交错带

依据土地利用数据,根据参考文献划分要求,利用ArcGIS创建渔网对地物进行重分类,划分农业带、牧业带以及农牧交错带。

m0_60672527的博客 3058

牛客——计算两个矩阵的乘积

矩阵: #include <iostream> #include <cstdio> //结构体 struct Matrix { int matrix[3][3]; //这里可以根据题目要算的来定 int row, col; Matrix(int r,int c):row(r),col(c){} }; //矩阵乘法 Matrix muti(Matrix x, Matrix y) { //新建一个矩阵,存结果 Matrix ans(x.row, y.col); for

javemalloc的博客 922

如何手动打包Linux(麒麟系统)的Qt程序

Qt在windows上有自带的windeployqt来帮助打包程序,但是对于linux系统来说Qt并没有自带对应的打包程序。尽管存在开源的linuxdeployqt打包程序,但是在使用的过程中会出现很多问题,对于arm架构的系统来说需要编译并修改源码等等。确定你程序所需要的插件,然后将你使用的Qt版本对应的插件复制到plugins里边。你可以根据各个库后面的路径来找到对应的库,并将它们全部复制到之前创建的lib目录下。复制你的可执行程序到bin目录下(将 your_executable。

qq_45903233的博客 3604

忘记安卓锁屏密码怎么办?3种方法教你用ADB恢复访问(含gesture.key解密)

本文详细解析了安卓设备锁屏密码的存储与加密机制,特别是gesture.key文件的解密原理。针对遗忘密码的常见问题,提供了三种核心恢复方法:利用ADB调试接口删除密码文件、对gesture.key进行离线分析与解密,以及应对高版本系统的替代方案。重点介绍了通过ADB工具在Recovery模式下操作的具体步骤,帮助用户在合法合规前提下恢复设备访问权限。

php55的博客 953

牛客-NC143-矩阵乘法

NC143. 矩阵乘法(medium)方法一:模拟法 方法一:模拟法 思路:可以直接模拟得到答案,需要注意的是:(1)a数组的列数应该和b数组的行数相同才能进行矩阵相乘;(2)新产生的二维数组应该是a数组的行与b数组的列对应的元素相乘得到的。于是,可以写出以下代码: import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param a

dingzhi4469的博客 305

【读代码】从claude skills到superpowers项目

最近claude skills成了大热门,今天一起看下GitHub 上的开源技能框架,他将“工作流”封装为“技能” (Skills)。本文尝试剖析该项目的技能粒度定义、多技能关联架构、应用逻辑等。与传统的 Function Calling 不同,Superpowers 中的 Skill 定义粒度并非“原子操作”,而是**“认知模式” (Cognitive Mode) 或“工作阶段”**。

kakaZhui的博客 1917

牛客国庆集训派对Day2 A 矩阵乘法

    就是让你做一个矩阵乘法,但是可能暴力做复杂度比较高(不会告诉你暴力也能过)。 题目已经大致告诉你优化的方法了。如果两个二进制向量点乘,那么可以用与运算代替乘法运算,最后统计结果中1的个数。而本题就是让你实现这个过程。 可以看到,第二个矩阵是一个01矩阵,所以说可以用类似的方法。第一个矩阵是一个16进制的矩阵,但是我们可以把这个16进制的2^16级别的数字拆成16个矩阵。而第...

alpc_qleonardo 390

广东省道路工程检测练习试题(判断题)真题

按下式计算小于某粒径颗粒质量百分数:X=(A/B)x100( )49.、挖坑灌砂法适用于在现场测定基层(或底基层)、砂石路面及路基土的各种材料压实层的密度和压实度,但不适用于填石路堤等有大孔洞或大孔隙材料的压实度检测。95.挖坑灌砂法适用于在现场测定基层(或底基层)、砂石路面及路基土的各种材料压实层的密度和压实度,但不适用于填石路堤等有大孔洞或大孔隙材料的压实度检测( )107.以干密度 pd 为纵坐标,含水率w为横坐标,绘 pd-w 关系曲线,曲线上峰值点的纵、横坐标分别为最大干密度和最佳含水率( )

ZShy001238的博客 681

《时序分析、时序约束和时序收敛》专栏的说明与导航

《时序分析、时序约束和时序收敛》专栏的说明与导航(建议阅读)。

孤独的单刀 14万+

牛客国庆集训派对Day6 H-Mountain(思维)

题解 策略显然是, 如果当前山后面有比它更高的山, 那么直接飞向第一个比它高的山,忽略中间的山, 如果后面没有,就直接走向下一座山,下坡。   如果只这样想的话,可以ST一下区间最大值,模拟。 这样对于点i,我们RMQ一下[i+1,n]的最大值, 判断其与i的大小,若小于i则走向i+1, 否则一直向后走直至走到第一个比它大的数。 时间复杂度o(n)。   后来想了一...

小衣同学的博客 433

【unity游戏开发之InputSystem——01】通过写代码监听InputSystem输入(基于unity6开发介绍)

通过写代码监听InputSystem输入(基于unity6开发介绍)

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 4889

牛客国庆集训派对Day2 A 矩阵乘法(思维分块)

题目链接 题意: 给你两个矩阵A,B, A是n*p,B是p*m,B是一个只有0,1组成的矩阵,Aij&lt;65536 C=A*B,让你求出C的里面所有元素的异或和   解析: 官方的标解是分块,每8个分一组。 例如对于A,每行行每8个分成一组,对于B,每一列每8个分成一组, 定义组数为x=p/8+(p%8)1:0 那么现在A就变成了n*x,B变成x*m 现在我们需要解决的就...

咸鱼有梦想 295

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

牛客国庆集训派对day6T A- 2016【矩阵乘法】

正题 题目链接:https://ac.nowcoder.com/acm/contest/1111/A 题目大意 2∗22*22∗2的矩阵AAA,求AnA^nAn 解题思路 我们将其十进制的转化过来,如 A2016=(A103)2∗(A10)∗(A)6A^{2016}=(A^{10^3})^2*(A^{10})*(A)^6A2016=(A103)2∗(A10)∗(A)6 这样时间复杂度为O(lo...

QuantAsk 361

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

牛客国庆集训派对Day2 Solution

A 矩阵乘法 思路: 1° 牛客机器太快了,暴力能过。 1 #include <bits/stdc++.h> 2 using namespace std; 3 4 #define N 5000 5 6 int n, p, m; 7 int a[N][100], b[100][N], ans[N][N]; 8 9 vo...

dianxi0949的博客 116

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

牛客国庆集训派对Day2 A - 矩阵分块

题目描述 深度学习算法很大程度上基于矩阵运算。例如神经网络中的全连接,本质上是一个矩阵乘法;而卷积运算也通常是用矩阵乘法来完成的。有一些科研工作者为了让神经网络的计算更快捷,提出了二值化网络的方法,就是将网络权重压缩成只用两种值表示的形式,这样就可以用一些 trick 加速计算了。例如两个二进制向量点乘,可以用计算机中的与运算代替,然后统计结果中 1 的个数即可。 然而有时候为了降低压缩带来的误...

m0_37579232的博客 387

牛客国庆集训派对Day3 - A 矩阵乘法 分块

题目链接 题意:矩阵A,每个数用十六进制表示,矩阵B,一列用一个二进制数表示,一个数为一个0或者1。求矩阵C=A*B中每个元素的异或和。 思路:可以看的出来B的每一列的二进制数就相当于A中某一行的元素中某一列元素是否要加上。比如01011,那么A中对应第一列和第三列的元素就不用加,那么我们可以通过预处理所有状态求出每个状态当前那一行的元素和。由于要节省时间,那么我们可以每8列合并成一个整体计算...

a302549450的博客 234

牛客国庆集训派对Day2(A F H)

链接: https://www.nowcoder.com/acm/contest/202#question 牛客国庆集训派对Day2A. 矩阵乘法F. 平衡二叉树H. 卡牌游戏 A. 矩阵乘法 题意: 给两个矩阵 A,BA, BA,B,AAA 是十进制矩阵,BBB 是二进制矩阵,问两个矩阵相乘之后得到的结果矩阵的每个元素的异或和。 思路: 因为 BBB 是二进制矩阵,BBB 矩阵最多只有 64 行...

Krone_的博客 641

牛客国庆集训派对Day2 —— 题解

出题人期望的难度: A 矩阵乘法 B 字符串的幂 C 生命游戏 D 数格点 E 数据排序 F 平衡二叉树 G 数组合并 H 卡牌游戏 I 游戏 J 魔法阵 K 排队 ...

Scar_Halo 723

牛客国庆集训赛day2

比赛地址 A 约瑟夫环 #include<iostream> using namespace std; int main() { int n,m; while(cin>>n>>m,n!=0){ int s=0; for (int i = 2; i <= n; i++)s = (s + m) % i; cout<<s+1<<endl; } return 0; }

fusu123456789的博客 149

牛客国庆集训派对Day2 A 矩阵乘法(简单)

https://www.nowcoder.com/acm/contest/202/A     你以为评测机跑的慢吗 那你就大错特错啦!   代码是转的。。。 #include&lt;iostream&gt; #include&lt;cstdio&gt; #include&lt;string&gt; using namespace std; int n,p,m; int A[5...

三水的鱼塘♂ 286

2020牛客国庆集训派对day2 MATRIX MULTIPLICATION CALCULATOR

MATRIX MULTIPLICATION CALCULATOR 题意: 求两矩阵相乘 题解: 应该都学过把。。。矩阵相乘 矩阵相乘的前提是两个矩阵的列等于另一个矩阵的行 也就是cij=∑aik*bkj 原理很简单注意格式,但是我遇到一个玄学问题。。。 就是卡格式了。。我人都傻了 为啥我这case都是最后输出??? 如果是输出undefined就是正常的 人傻了。。 代码: 格式错误代码: #include<bits/stdc++.h> using namespace std; const

qq_35975367的博客 275

ACM-ICPC算法与数据结构 —— 二级目录

·算法类----------------------------------------- 退役 from ACM-ICPC集训队 ACM以及大学两年半经历 A.总结、知识点     前缀和,线段树,树状数组讲解(入门)[知识点]     树状数组 区间修改 区间查询 讲解[知识点]     [转]线段树模板习题总结——by:NotOnlySucces[总结]     主席树学...

GreyBtfly的博客 1198

牛客国庆集训派对Day2 F平衡二叉树(构造规律)

https://www.nowcoder.com/acm/contest/202/F   队友发现在层数到达d之前和d之后的答案规律不同。。。     #include&lt;bits/stdc++.h&gt; using namespace std; #define ll long long ll a[100]; int main() { int T; ll n,d;...

三水的鱼塘♂ 280

牛客国庆集训派对Day6 A-Birthday (最小费用流)

链接:https://www.nowcoder.com/acm/contest/206/A 来源:牛客网   题目描述 恬恬的生日临近了。宇扬给她准备了一个蛋糕。 正如往常一样,宇扬在蛋糕上插了n支蜡烛,并把蛋糕分为m个区域。因为某种原因,他必须把第i根蜡烛插在第ai个区域或第bi个区域。区域之间是不相交的。宇扬在一个区域内同时摆放x支蜡烛就要花费x2的时间。宇扬布置蛋糕所用的总时间是他在每个...

LP_Cong 557
上一篇: 牛客国庆集训派对Day1 - G Kimi to Kanojo to Kanojo no Koi (构造)
下一篇: EOJ Monthly 2018.10 - C 痛苦的 01 矩阵 (数学推导)
Mr_Treeeee
博客等级 码龄10年 38粉丝 551原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值