试题编号: 201512-5
试题名称: 矩阵
时间限制: 1.0s
内存限制: 256.0MB
问题描述:

问题描述
  创造一个世界只需要定义一个初状态和状态转移规则。
  宏观世界的物体运动规律始终跟物体当前的状态有关,也就是说只要知道物体足够多的状态信息,例如位置、速度等,我们就能知道物体之后任意时刻的状态。
  现在小M创造了一个简化的世界。
  这个世界中,时间是离散的,物理规律是线性的:世界的初始状态可以用一个m维向量b(0)表示,状态的转移方式用m×m的矩阵A表示。
  若已知这个世界当前的状态是b,那么下一时刻就等于b左乘状态转移矩阵A,即Ab。
  这个世界中,物体的状态也是离散的,也就是说可以用整数表示。再进一步,整数都可以用二进制编码拆分为有限位0和1。因此,这里的矩阵A和向量b的每个元素都是0或1,矩阵乘法中的加法运算视为异或运算(xor),乘法运算视为与运算(and)。
  具体地,设矩阵A第i行第j列的元素为ai, j,向量b的第i个元素为bi。那么乘法Ab所得的第k个元素为
  (ak,1 and b1) xor (ak,2 and b2) xor ⋯ xor (ak,m and bm)
  矩阵和矩阵的乘法也有类似的表达。
  小M发现,这样的矩阵运算也有乘法结合律,例如有A(Ab)=(AA)b=A2b。
  为了保证自己创造的世界维度不轻易下降,小M保证了矩阵A可逆,也就是说存在一个矩阵A-1,使得对任意向量d,都有A-1Ad=d。
  小M想了解自己创造的世界是否合理,他希望知道这个世界在不同时刻的状态。
  具体地,小M有n组询问,每组询问会给出一个非负整数k,小M希望你帮他求出Akb。
输入格式
  输入第一行包含一个整数m,表示矩阵和向量的规模。
  接下来m行,每行包含一个长度为m的01串,表示矩阵A。
  接下来一行,包含一个长度为m的01串,表示初始向量b(0)。(b(0)是列向量,这里表示它的转置)
  注意:01串两个相邻的数字之间均没有空格。
  接下来一行,包含一个正整数n,表示询问的个数。
  最后n行,每行包含一个非负整数k,表示询问Akb(0)
  注意:k可能为0,此时是求A0b(0) =b(0)
输出格式
  输出n行,每行包含一个01串,表示对应询问中Akb(0)的结果。
  注意:01串两个相邻的数字之间不要输出空格。
样例输入
3
110
011
111
101
10
0
2
3
14
1
1325
6
124124
151
12312
样例输出
101
010
111
101
110
010
100
101
001
100
评测用例规模与约定
  本题使用10个评测用例来测试你的程序。
  对于评测用例1,m = 10,n = 100,k ≤ 103
  对于评测用例2,m = 10,n = 100,k ≤ 104
  对于评测用例3,m = 30,n = 100,k ≤ 105
  对于评测用例4,m = 180,n = 100,k ≤ 105
  对于评测用例5,m = 10,n = 100,k ≤ 109
  对于评测用例6,m = 30,n = 100,k ≤ 109
  对于评测用例7,m = 180,n = 100,k ≤ 109
  对于评测用例8,m = 600,n = 100,k ≤ 109
  对于评测用例9,m = 800,n = 100,k ≤ 109
  对于评测用例10,m = 1000,n = 100,k ≤ 109

问题链接:CCF201512-5 矩阵
问题简述:(略)
问题分析:参考链接的的代码是50分。
程序说明:(略)
参考链接
CCF-201512-5 矩阵
题记:(略)

100分的C++语言程序如下:

CCF201512-5 矩阵【矩阵快速幂】(募集解题代码)相关推荐

  1. HDU 4565So Easy!2012长沙邀请赛A题(共轭构造+矩阵的快速幂)

    So Easy! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total S ...

  2. 求解斐波那契第n项的几种解法(含矩阵乘法+快速幂) Python实现

    斐波那契数列 首先我们来定义一下斐波那契数列: f(n)={0n = 01n = 1f(n−1)+f(n−2)n > 1f(n)= \begin{cases} 0 & \text {n ...

  3. CCF201612-5 卡牌游戏(募集解题代码)

    试题编号: 201612-5 试题名称: 卡牌游戏 时间限制: 3.0s 内存限制: 256.0MB 问题描述: 问题描述 小Q和小M是游戏数值策划师,他们最近在测试自己新设计的卡牌对战游戏.游戏总共 ...

  4. CCF201809-5 线性递推式(募集解题代码)

    试题编号: 201809-5 试题名称: 线性递推式 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 样例输入 3 3 6 2 0 4 样例输出 12 32 80 208 样例说明 样例 ...

  5. 【BZOJ 2323】 2323: [ZJOI2011]细胞 (DP+矩阵乘法+快速幂*)

    2323: [ZJOI2011]细胞 Description 2222年,人类在银河系外的某颗星球上发现了生命,并且携带了一个细胞回到了地球.经过反复研究,人类已经完全掌握了这类细胞的发展规律: 这种 ...

  6. [矩阵乘法/快速幂专题]Arc of Dream,Recursive sequence,233 Matrix,Training little cats

    矩阵快速幂习题 复习矩阵乘法及快速幂模板 乘法模板 快速幂模板 T1:Arc of Dream 题目 题解 code T2:Recursive sequence 题目 题解 code T3:233 M ...

  7. bzoj 4417: [Shoi2013]超级跳马(矩阵合并+快速幂)

    4417: [Shoi2013]超级跳马 Time Limit: 10 Sec  Memory Limit: 256 MB Submit: 410  Solved: 252 [Submit][Stat ...

  8. 循环矩阵的快速幂(bzoj 2510: 弱题)

    2510: 弱题 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 408  Solved: 218 [Submit][Status][Discuss] ...

  9. [BZOJ3240][Noi2013]矩阵游戏 快速幂

    当我知道这题矩阵可以用费马小定理搞快速幂的时候 我眼泪都要落下来了QAQ 首先求一发通项F[1][1]->F[2][1]的通项 然后写成A+B的形式 若a != 1 A = (a^(m-1))* ...

  10. ZCMU-1618-骨牌覆盖(矩阵乘法+快速幂)

    1618: 骨牌覆盖1 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 264  Solved: 124 [Submit][Status][Web Bo ...

最新文章

  1. AttributeError:module“seaborn” has no attribute “lineplot”
  2. Vuforia 6.1提供4个版本下载
  3. 【Linux 内核】进程管理 task_struct 结构体 ① ( task_struct 结构体引入 | task_struct 代码示例 )
  4. ASP.NET 安全认证(二)——灵活运用 Form 表单认证中的 deny 与 allow 及保护 .htm 等文件 ....
  5. fx2n4ad模块中文手册_三菱特殊模块FX2N-4AD-PT详细说明及编程应用
  6. 洛谷2055 [ZJOI2009]假期的宿舍
  7. 如何熟悉一个开源项目
  8. 实现图书增删的代码_不仅仅是图书信息管理系统
  9. javafx应用启动自动执行函数_JavaFx:Application start方法中的异常
  10. 面试精讲之面试考点及大厂真题 - 分布式专栏 01 开篇词:我是怎样带你通过大厂面试
  11. 去哪儿-04-iconsDev
  12. 移动端h5监听浏览器返回操作(目前在react项目中用到)
  13. 抖音回应“天价烤虾”事件:已经在调查违规广告主
  14. mysql实现了四种通信协议_MySQL 通信协议
  15. 数论 扩展欧几里德算法
  16. 数据挖掘原理与实践学习(3)
  17. 2019年大学计算机二级考试报名,南通职业大学2019年秋季计算机二级考试报名通知...
  18. 存在为退还的延长失保金支付记录,需退还后才能就业登记
  19. lzo的正确c语言代码,LZO的问题
  20. 常用计算机控制芯片有哪些,电脑基本芯片的认识的常用知识介绍

热门文章

  1. 关联规则挖掘算法_关联规则的挖掘与应用——Apriori和CBA算法
  2. 2020-06-24 电子书网站http://www.itjiaocheng.com/mianfei/
  3. golang 使用 consul 做服务发现
  4. matlab 连通域数量,【Matlab】找到矩阵中每个连通域的最小值
  5. java static调用吗_java中使用static
  6. Android多线程--AsyncTask
  7. java Iterator的next()、previous()、set()究竟指向哪里?
  8. linux sqlite3使用界面,Linux 中 sqlite3 基本操作
  9. css覆盖规则_条件 CSS
  10. Git教程——merge 分支冲突