HDU 5863 cjj's string game 快速幂 dp
来源:互联网 发布:打谱软件overture下载 编辑:程序博客网 时间:2024/05/06 01:50
#include<iostream>#include<cstring>#include<algorithm>#include<cstdio>#include<cstdio>using namespace std;#define mod 1000000007#define maxn 22#define ll long longstruct Matrix{ int mat[22][22]; void init(){ memset(mat,0,sizeof(mat)); } Matrix (){}};Matrix operator * (Matrix&a,Matrix &b){ Matrix c; c.init(); for(int i = 0;i < maxn; i++){ for(int j = 0;j < maxn; j++){ for(int k = 0;k < maxn; k++){ c.mat[i][j] = (c.mat[i][j] + (ll)a.mat[i][k]*b.mat[k][j])%mod ; if(c.mat[i][j] >= mod) c.mat[i][j] -= mod; } } } return c;}int main(){ int t,m,n,k; scanf("%d",&t); while(t--){ scanf("%d%d%d",&n,&m,&k); Matrix a,b,c; a.init(); for(int i = 0;i < m; i++){ a.mat[0][i] = k*k-k; a.mat[i+1][i] = k; } a.mat[m+1][m] = k*k-k; for(int i = m+1;i <= m*2; i++){ a.mat[m+1][i] = k*k-k; if(i != m * 2 ) a.mat[i+1][i] = k; else a.mat[m][i] = k; } b.init(); for(int i = 0;i < maxn; i++) b.mat[i][i] = 1; while(n){ if(n&1)b = b * a; n /= 2; a = a * a; } ll ans = 0; for(int i = m;i <= m * 2; i++){ ans += b.mat[i][0]; if(ans >= mod) ans-=mod; } printf("%d\n",ans%mod); } return 0;}
0 0
- HDU 5863 cjj's string game 快速幂 dp
- HDU 5863 cjj's string game(矩阵快速幂)
- Hdu-5863 cjj's string game(矩阵快速幂)
- HDU 5863 cjj's string game(矩阵快速幂) ★
- HDU 5863 cjj's string game(矩阵快速幂)
- HDU 5863 cjj's string game(dp+矩阵快速幂)
- HDU5863 cjj's string game (dp+矩阵快速幂)
- HDU 5863 cjj's string game(矩阵dp)
- HDU 5863 cjj's string game(矩阵优化DP)
- 矩阵快速幂,动态规划(cjj's string game,HDU 5863)
- HDU 5860 cjj's string game
- hdu5863 cjj's string game
- HDU5863-cjj's string game
- HDU5863cjj's string game(DP+矩阵快速幂)
- 2016多校训练Contest10: 1007 cjj's string game hdu5863
- hdu 5282 Senior's String 两次dp
- [dp] hdu 5282 Senior's String
- 对抗搜索/dp-hdu-4753-Fishhead’s Little Game
- Android自定义View
- Java字符流
- Android实战之驱家新闻app(四)
- 【NOIP2012模拟10.29】排列 一题总结
- Jquery李炎恢——35概述及jQuery UI[1]
- HDU 5863 cjj's string game 快速幂 dp
- Java日期时间
- 自己动手做一个adb的wifi连接及adb命令的apk
- Java8语法和新功能
- mv遇到空格和小括号文件引发的问题
- Codeforces Round #368 (Div. 2)C.Pythagorean Triples 本原勾股数组
- JDK---API文档
- Java正则表达式实例教程
- Java多线程编程教程