233 Matrix(hdu5015 矩阵)
233 Matrix
Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 1190 Accepted Submission(s): 700
Problem Description
Input
For each case, the first line contains two postive integers n,m(n ≤ 10,m ≤ 109). The second line contains n integers, a1,0,a2,0,...,an,0(0 ≤ ai,0 < 231).
Output
Sample Input
Sample Output
Hint
我们这样看:已知a11 ,a21 ,a31 ,a41 。。。求后面的
a12 = a11 +233;
a22 = a11 + a21 +233;
a32 = a11 + a21 +a31 +233;
a42 = a11 + a21 +a31 +a41 +233;
.........
同理:后面的列也一样:
a13 = a12 +233;
a23 = a12 + a22 +233;
a33 = a12 + a22 +a32 +233;
a43 = a12 + a22 +a32 +a42 +233;
...........
ss所以有矩阵:
233 | a11 |
a21 | a31 | a41 | ... | 3 |
*
10 | 1 | 1 | 1 | 1 | ... | 0 |
0 | 1 | 1 | 1 | 1 | ... | 0 |
0 | 0 | 1 | 1 | 1 | ... | 0 |
0 | 0 | 0 | 1 | 1 | ... | 0 |
0 | 0 | 0 | 0 | 1 | ... | 0 |
... | ... | ... | ... | ... | ... | ... |
1 | 0 | 0 | 0 | 0 | ... | 1 |
=
......................................................................................................................................................
z转载请注明出处:寻找&星空の孩子
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5015
#include<cstdlib>
#include<cstring>
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
#define LL __int64
#define mod 10000007 LL N,M; struct matrix
{
LL m[][];
};
LL a[]; matrix multiply(matrix x,matrix y)
{
matrix temp;
memset(temp.m,,sizeof(temp.m));
for(int i=; i<N+; i++)
{
for(int j=; j<N+; j++)
{
if(x.m[i][j]==) continue;
for(int k=; k<N+; k++)
{
if(y.m[j][k]==) continue;
temp.m[i][k]+=x.m[i][j]*y.m[j][k]%mod;
temp.m[i][k]%=mod;
}
}
}
return temp;
} matrix quickmod(matrix a,LL n)
{
matrix res;
memset(res.m,,sizeof(res.m));
for(int i=;i<N+;i++) res.m[i][i]=;
while(n)
{
if(n&)
res=multiply(res,a);
n>>=;
a=multiply(a,a);
}
return res;
}
int main()
{
int n,k;
while(scanf("%d%d",&N,&M)!=EOF)
{
a[]=;
a[N+]=;
for(int i=;i<=N;i++)
{
scanf("%d",&a[i]);
} matrix ans;
memset(ans.m,,sizeof(ans.m));
ans.m[][]=;
ans.m[N+][]=;
ans.m[N+][N+]=;
for(int j=;j<=N;j++)
{
for(int i=;i<=j;i++)
{
ans.m[i][j]=;
}
} ans=quickmod(ans,M);//M次幂定位到纵坐标。 LL ant=;
for(int i=;i<N+;i++)//横坐标是N,即,乘以矩阵的N列。
{
ant=(ant+a[i]*ans.m[i][N])%mod;
}
printf("%I64d\n",ant);
}
return ;
}
本来要做新题的,可是遇到不会的了。。。hdu4767 Bell 现在卡在 中国剩余定理,还要好好梳理梳理!
加油!少年!!!
233 Matrix(hdu5015 矩阵)的更多相关文章
- ACM学习历程——HDU5015 233 Matrix(矩阵快速幂)(2014陕西网赛)
Description In our daily life we often use 233 to express our feelings. Actually, we may say 2333, 2 ...
- hdu 5015 233 Matrix (矩阵高速幂)
233 Matrix Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Tota ...
- hdu 5015 233 Matrix(构造矩阵)
http://acm.hdu.edu.cn/showproblem.php?pid=5015 由于是个二维的递推式,当时没有想到能够这样构造矩阵.从列上看,当前这一列都是由前一列递推得到.依据这一点来 ...
- HDU5015 233 Matrix(矩阵高速幂)
HDU5015 233 Matrix(矩阵高速幂) 题目链接 题目大意: 给出n∗m矩阵,给出第一行a01, a02, a03 ...a0m (各自是233, 2333, 23333...), 再给定 ...
- HDU5015 233 Matrix —— 矩阵快速幂
题目链接:https://vjudge.net/problem/HDU-5015 233 Matrix Time Limit: 10000/5000 MS (Java/Others) Memor ...
- [HDU5015]233 Matrix
[HDU5015]233 Matrix 试题描述 In our daily life we often use 233 to express our feelings. Actually, we ma ...
- 233 Matrix(矩阵快速幂+思维)
In our daily life we often use 233 to express our feelings. Actually, we may say 2333, 23333, or 233 ...
- HDU 5015 233 Matrix(网络赛1009) 矩阵快速幂
先贴四份矩阵快速幂的模板:http://www.cnblogs.com/shangyu/p/3620803.html http://www.cppblog.com/acronix/archive/20 ...
- 233 Matrix 矩阵快速幂
In our daily life we often use 233 to express our feelings. Actually, we may say 2333, 23333, or 233 ...
随机推荐
- jQuery ajax 302跨域
一.ajax 302 ajax用于异步获取服务器数据,但是某天有这么一个使用场景: > 基于安全考虑,登录的用户的信息失效时,系统的所有ajax接口都由服务器直接重定向到系统的登录页面,此时登录 ...
- 重拾 BFC、IFC、GFC、FFC
温故知新,巩固基础 从 FC 开始 FC,Formatting Context,格式化上下文,是 W3C CSS2.1 规范中的一个概念,定义的是页面中一块渲染区域,并且有一套渲染规则,它决定了其子元 ...
- 虚拟机安装centos7
主要参考这个文档(我已经把网页保存到本地了): http://www.bkjia.com/Linuxjc/867013.html 主要注意: 1.虚拟机网络我选择的桥接模式,在CentOS安装时打开这 ...
- C#导出Excel文件Firefox中文件名乱码
首先说明下:我的解决方法不一定适用于其他遇到该问题的人,因为情况多种多样,适合我的方法不一定适合别人,就像我在遇到问题时查到别人的解决方案放到我的代码里却不管用,所以这个方法仅供参考 这两天做了一个导 ...
- json-lib.jar开发包及依赖包的下载地址(转)
一.去官方下载json-lib工具包下载地址:http://sourceforge.net/projects/json-lib/files/json-lib/json-lib-2.4/目前最新的是2. ...
- python多线程-Semaphore(信号对象)
Semaphore(value=1) Semaphore对象内部管理一个计数器,该计数器由每个acquire()调用递减,并由每个release()调用递增.计数器永远不会低于零,当acquire() ...
- (转)request模拟知乎登录(无验证码机制
原文:http://www.itnose.net/detail/6755805.html import request try: import cookielib #python2版本 except: ...
- Facade外观模式(结构性模式)
1.系统的复杂度 需求:开发一个坦克模拟系统用于模拟坦克车在各种作战环境中的行为,其中坦克系统由引擎.控制器.车轮等各子系统构成.然后由对应的子系统调用. 常规的设计如下: #region 坦克系统组 ...
- 01-SpringBoot项目:helloworld
1.Spring 官网:spring.io 2.继承SpringBoot的父项目 <parent> <groupId>org.springframework.boot</ ...
- 获取Javascript 滚动条距离顶部的距离(兼容IE6+,火狐,谷歌,其它没测)
document.body.scrollTop || document.documentElement.scrollTop