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 是不是很好懂呢. 代码 ...
随机推荐
- discuz 自带的地区四级联动调用方法
首先,DZ提供了专门处理地区信息的函数,在source/function/function_profile.php(第14行)文件中:function profile_setting(){}那么,我们 ...
- MYSQL 索引汇总
1.MySQL索引类型 先分以下类,MYQL有两大类索引:聚集索引和非聚集索引(只考虑mysql innodb) 聚集索引:在有主键的情况下,主键为聚集索引,其他都是非聚集索引 ...
- Linux指令面试题01-进程查看与终止
查看某一进程是否运行:ps -ef|grep 程序名 终止程序: kill pid 转载于:https://www.cnblogs.com/feihujiushiwo/p/10896636.html
- SAP WM TO Print Control设置里,Movement Type 的优先级更高
SAP WM TO Print Control设置里,Movement Type 的优先级更高 存储类型的配置: 从storage type GRM 搬到任何地方,都不需要打印TO单. 移动类型的配置 ...
- 已有项目接入git远程仓库
1.项目根目录初始化git仓库 git init 2.将本地项目与远程仓库关联(首先得在远程创建一个代码仓库) git remote add origin 远程仓库地址 诺,仓库地址就是这个玩意 3. ...
- 求x>0时,y=x^3-6x^2+15的极值
解: 当x→∞时,y也→∞,所以y没有最大值. y=x3-6x2+15=-4*(x/2)*(x/2)*(6-x)+15 而根据几何平均数小于等于算术平均数的定理,(x/2)*(x/2)*(6-x)在x ...
- Nacos作为配置中心时,多个服务共用一个dataId的配置
写在前面 本文是对我之前一篇文章<Spring Cloud+nacos+Feign,实现注册中心及配置中心>的补充.此文章中简单写了如何将Nacos作为配置中心.在使用配置中心时,我们会遇 ...
- Python库的安装与查看
安装库: Step1: win+r键打开此页面,并输入cmd Step2 :键入cmd并点击确定 Step3 :键入语句:“ pip install 库名 “ 回车即可 这样库就 ...
- js和jq的获取焦点失去焦点写法
- java制作甘特图
今日来做一下甘特图.网上搜到了这个源码,但是导的jar包,并没有给我.swiftganttdemo但是名为swiftgantt制作:所以灵机一动在网上搜到了swiftangantt组件:在组件中找到了 ...