hdu6470 Count 矩阵快速幂
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = , mod = ; struct MAT {
ll a[maxn][maxn];
MAT(){ memset(a,,sizeof(a)); }
MAT operator*(MAT p) {
MAT res;
for (int i = ; i < maxn; i++)
for (int j = ; j < maxn; j++)
for(int k = ; k < maxn; k++)
res.a[i][j] = (res.a[i][j]+a[i][k]*p.a[k][j])%mod;
return res;
}
};
MAT mat_qpow(MAT A, ll b) {
MAT res;
res.a[][] = ;
for (int i = ; i < maxn; i++) {
res.a[i][i] = ;
}
while(b) {
if(b&) res = res*A;
A = A*A;
b >>= ;
}
return res;
}
void init(MAT& A, MAT& B) {
A.a[][]=, A.a[][]=, A.a[][]=, A.a[][]=, A.a[][]=, A.a[][]=;
A.a[][]=, A.a[][]=, A.a[][]=, A.a[][]=, A.a[][]=, A.a[][]=;
A.a[][]=, A.a[][]=, A.a[][]=, A.a[][]=, A.a[][]=, A.a[][]=;
A.a[][]=, A.a[][]=, A.a[][]=, A.a[][]=, A.a[][]=, A.a[][]=;
A.a[][]=, A.a[][]=, A.a[][]=, A.a[][]=, A.a[][]=, A.a[][]=;
A.a[][]=, A.a[][]=, A.a[][]=, A.a[][]=, A.a[][]=, A.a[][]=; B.a[][]=, B.a[][]=, B.a[][]=, B.a[][]=, B.a[][]=, B.a[][]=;
} int main() {
int t; scanf("%d",&t);
while(t--) {
ll n; scanf("%lld",&n);
MAT A; MAT ans;
init(A,ans);
ans = mat_qpow(A,n-)*ans;
printf("%lld\n",ans.a[][]);
}
return ;
}
hdu6470 Count 矩阵快速幂的更多相关文章
- 省选模拟赛 Problem 3. count (矩阵快速幂优化DP)
Discription DarrellDarrellDarrell 在思考一道计算题. 给你一个尺寸为 1×N1 × N1×N 的长条,你可以在上面切很多刀,要求竖直地切并且且完后每块的长度都是整数. ...
- 广工十四届校赛 count 矩阵快速幂
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6470 题意:求,直接矩阵快速幂得f(n)即可 构造矩阵如下: n^3是肯定得变换的,用二项式展开来一点 ...
- 2017中国大学生程序设计竞赛 - 网络选拔赛 HDU 6155 Subsequence Count 矩阵快速幂
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6155 题意: 题解来自:http://www.cnblogs.com/iRedBean/p/73982 ...
- HDU 6470 Count 【矩阵快速幂】(广东工业大学第十四届程序设计竞赛 )
题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6470 Count Time Limit: 6000/3000 MS (Java/Others) ...
- Count Numbers(矩阵快速幂)
Count Numbers 时间限制: 8 Sec 内存限制: 128 MB提交: 43 解决: 19[提交] [状态] [讨论版] [命题人:admin] 题目描述 Now Alice want ...
- HDU 6470:Count(矩阵快速幂)
Count Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submi ...
- HDU6470 ()矩阵快速幂
http://acm.hdu.edu.cn/showproblem.php?pid=6470 题意:f[n] = f[n-1] + f[n-2]*2 + n^3; f[1] =1 ; f[2] = 2 ...
- UOJ424 Count 生成函数、多项式求逆、矩阵快速幂
传送门 两个序列相同当且仅当它们的笛卡尔树相同,于是变成笛卡尔树计数. 然后注意到每一个点的权值一定会比其左儿子的权值大,所以笛卡尔树上还不能够存在一条从根到某个节点的路径满足向左走的次数\(> ...
- UVaLive 7361 Immortal Porpoises (矩阵快速幂)
题意:求Fibonacci的第 n 项. 析:矩阵快速幂,如果不懂请看http://www.cnblogs.com/dwtfukgv/articles/5595078.html 是不是很好懂呢. 代码 ...
随机推荐
- python学习23之标准库
'''''''''标准库1.datetime 日期时间模块存在于Lib/datetime.py文件内'''from datetime import datetime,date,time #from d ...
- QT 无法抓住异常
出处:https://stackoverflow.com/questions/40980171/qt5core-dll-crashing I've found that enabling /EHa ( ...
- Tomcat7 启动慢的问题解决
[问题] 由于上面标记部分,导致启动耗时将近160s,不能忍! [原因] 此于jvm环境配置有关,请打开jvm安装目录中jre/lib/security/java.security文件,找到secur ...
- 【抓包工具】tcpdump
tcpdump - dump traffic on a network 根据使用者的定义对网络上的数据包进行截获的包分析工具. tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析.它支 ...
- 解析HTML、JS与PHP之间的数据传输
在电商网站搭建过程中,前端经常会向后端请求数据,有时候通过HTML.JS和PHP文件的处理来实现数据的连通.通常情况下,用户在HTML中做关键字操作,JS对提交的表单进行数据处理,向后端发起ajax请 ...
- HyperLeger Fabric开发(三)——HyperLeger Fabric架构
HyperLeger Fabric开发(三)--HyperLeger Fabric架构 一.HyperLeger Fabric逻辑架构 1.HyperLeger Fabric逻辑架构简介 Fabric ...
- 数学--数论--Find Integer(勾股数定理)
Problem Description people in USSS love math very much, and there is a famous math problem give you ...
- App 自动化环境搭建
1.安装 Appium-desktop 工具 下载地址:https://github.com/appium/appium-desktop/releases 2.安装 Android 环境 安装 JDK ...
- Docker 结合Jenkins 构建持续集成环境
Docker 结合Jenkins 构建持续集成环境 Jenkins : 一个开源的持续集成工具, 提供软件版本发布.自动测试等一系列流程及丰富的插件 Maven: 一个自动化构建工具, 通过一段描述 ...
- python3yupython2的差别
1.长整型 # python2中才有长整型概念,python3中只有整形一说 # 定义方法:变量名=整数+l (小写L) #python2环境下 >>> a=123456789123 ...