华东交通大学2017年ACM“双基”程序设计竞赛 1005
Problem Description
现在已知一个n*n矩阵A,S = A+A^2+A^3+...+A^k,输出S,因为每一个元素太大了,输出的每个元素模10
Input
Output
Sample Input
- 1
- 3 2
- 0 2 0
- 0 0 2
- 0 0 0
Sample Output
- 0 2 4
- 0 0 2
- 0 0 0
- 解法:矩阵的等比求和,知道这个就用模版写
- #include<bits/stdc++.h>
- #define clr(x) memset(x,0,sizeof(x))
- #define LL long long
- using namespace std;
- #define INF 0x3f3f3f3f
- typedef long long ll;
- const int N= +;
- struct Matrix
- {
- int m[N][N];
- };
- Matrix I;
- int n,k,M;
- Matrix add(Matrix a,Matrix b)
- {
- Matrix c;
- for(int i=;i<n;i++)
- for(int j=;j<n;j++)
- c.m[i][j]=(a.m[i][j]+b.m[i][j])%M;
- return c;
- }
- Matrix multi(Matrix a,Matrix b)
- {
- Matrix c;
- for(int i=;i<n;i++){
- for(int j=;j<n;j++){
- c.m[i][j]=;
- for(int k=;k<n;k++)
- c.m[i][j]=(c.m[i][j]+a.m[i][k]*b.m[k][j])%M;
- }
- }
- return c;
- }
- Matrix power(Matrix A,ll n)
- {
- Matrix ans=I;
- while(n){
- if(n&)
- ans=multi(ans,A);
- A=multi(A,A);
- n>>=;
- }
- return ans;
- }
- Matrix sum(Matrix A,ll k)
- {
- if(k==) return A;
- Matrix t=sum(A,k/);
- Matrix cur=power(A,k/+(k&));
- t=add(t,multi(t,cur));
- if(k&) t=add(t,cur);
- return t;
- }
- int main()
- {
- int T;
- ios::sync_with_stdio(false),cin.tie(),cout.tie();
- while(cin>>T){
- while(T--){
- cin>>n>>k;
- M=;
- Matrix A;
- for(int i=;i<n;i++){
- for(int j=;j<n;j++){
- cin>>A.m[i][j];
- A.m[i][j]%=M;
- }
- I.m[i][i]=;
- }
- Matrix ans=sum(A,k);
- for(int i=;i<n;i++){
- for(int j=;j<n;j++){
- if(j+!=n) cout<<ans.m[i][j]<<" ";
- else cout<<ans.m[i][j]<<endl;
- }
- }
- }
- }
- return ;
- }
华东交通大学2017年ACM“双基”程序设计竞赛 1005的更多相关文章
- 华东交通大学2017年ACM“双基”程序设计竞赛 1009
Problem Description MDD随机生成了n(n<le5)个随机数x(x<=1e9),这n个随机数排成一个序列,MDD有q(q<=le5)个询问,每个询问给你一个a,问 ...
- 华东交通大学2017年ACM“双基”程序设计竞赛 1003
Problem Description 有两个球在长度为L的直线跑道上运动,两端为墙.0时刻小球a以1m/s的速度从起点向终点运动,t时刻小球b以相同的速度从终点向起点运动.问T时刻两球的距离.这里小 ...
- 华东交通大学2017年ACM“双基”程序设计竞赛 1002
Problem Description 一天YZW参加了学校组织交际舞活动,活动的开始活动方分别给男生和女生从1-n进行编号,按照从小到大顺时针的方式进行男女搭档分配,相同编号的男女组合成一对,例如一 ...
- 华东交通大学2017年ACM“双基”程序设计竞赛 1008
Problem Description 长度为 n 的序列,把它划分成两段非空的子序列,定义权值为:两段子序列的最大值的差的绝对值.求可能的最大的权值.数据范围:2 <= n <= 10^ ...
- 华东交通大学2017年ACM“双基”程序设计竞赛 1010
Problem Description 定义操作:将数 n 变为 f(n) = floor(sqrt(n)).即对一个数开平方后,再向下取整.如对 2 进行一次操作,开平方再向下取整, 1.41421 ...
- 华东交通大学2017年ACM“双基”程序设计竞赛 1001
Problem Description 最近流行吃鸡,那就直接输出一行"Winner winner ,chicken dinner!"(没有双引号)模板代码:#include &l ...
- 华东交通大学2016年ACM“双基”程序设计竞赛 1005
Problem Description 最近侯ry感觉自己在数学方面的造诣不忍直视:他发现他的学习速率呈一个指数函数递增,疯狂的陷入学习的泥潭,无法自拔:他的队友发现了他的学习速率y=e^(b*lna ...
- 华东交通大学2015年ACM“双基”程序设计竞赛1005
Problem E Time Limit : 3000/2000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other) Total Sub ...
- 华东交通大学2018年ACM“双基”程序设计竞赛 C. 公式题 (2) (矩阵快速幂)
题目链接:公式题 (2) 比赛链接:华东交通大学2018年ACM"双基"程序设计竞赛 题目描述 令f(n)=2f(n-1)+3f(n-2)+n,f(1)=1,f(2)=2 令g(n ...
随机推荐
- ACM学习历程—HDU5521 Meeting(图论)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5521 学习菊苣的博客,只粘链接,不粘题目描述了. 题目大意就是一个人从1开始走,一个人从n开始走.让最 ...
- Hough变换原理
Hough变换原理 一.简单介绍 Hough变换是图像处理中从图像中识别几何形状的基本方法之一.Hough变换的基本原理在于利用点与线的对偶性,将原始图像空间的给定的曲线通过曲线表达形式变为参数空间的 ...
- [转]阮一峰:理解RESTful架构
作者: 阮一峰 日期: 2011年9月12日 越来越多的人开始意识到,网站即软件,而且是一种新型的软件. 这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通 ...
- powermock, 强力模拟
1. powermock是基于mockito或者easymock,TestNG之上的mock: 2. 提供了对于静态函数,私有函数的mock 3. 下载地址:https://github.com/po ...
- bzoj 2044 三维导弹拦截——DAG最小路径覆盖(二分图)
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2044 还以为是CDQ.发现自己不会三维以上的…… 第一问可以n^2.然后是求最长不下降子序列 ...
- 【转】 Pro Android学习笔记(二八):用户界面和控制(16):GridLayout
网格布局:GridLayout 我个人觉得GridLayout的设计还不很完善,每个网格的大小,由填充的cell决定,即默认是wrap很容易整个GridLayout超出屏幕.下面是一个例子: < ...
- jQuery 文档操作 - html() 方法
1.转自:http://www.w3school.com.cn/jquery/manipulation_html.asp 设置所有 p 元素的内容: <html> <head> ...
- CSS是什么?W3C是什么?W3C盒子与IE盒子的区别?
(1)层叠样式(Cascading Style Sheets, CSS)是用来表现HTML或XML文本样式的语言. (2)W3C推荐规范(World Wide Web Consortium,W3C ...
- ABCD四个人说真话的概率都是1/3。假如A声称B否认C说D是说谎了,那么D说过的那句话真话的概率是多少
ABCD四个人说真话的概率都是1/3.假如A声称B否认C说D是说谎了,那么D说过的那句话 真话的概率是多少 记"A声称B否认C说D说谎"为X,那么由贝叶斯公式,所求的 P(D真)P ...
- Learning Python 005 字符串和编码
Python 字符串和编码 介绍 计算机是美国人发明的,最早只有127个字母被编码到计算机,这个编码表被称为ASCII编码,比如大写字母A的编码是65,小写字母z的编码是122. 处理中文一个字节显然 ...