思路:很容易发现规律,数列和Fib数列一样的。

记开始的时候啊a的个数为Y,b的个数为X。建立矩阵。

代码如下:

 #include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#define M 105
#define eps 1e-6
#define ll long long
#define mod 1000000007
using namespace std;
struct mat
{
ll m[][];
};
mat Mul(mat a,mat b)
{
mat ans;
for(int i=;i<;i++)
for(int j=;j<;j++){
ans.m[i][j]=;
for(int k=;k<;k++)
ans.m[i][j]+=a.m[i][k]*b.m[k][j];
ans.m[i][j]%=mod;
}
return ans;
}
mat Pow(int n)
{
mat ans,a;
for(int i=;i<;i++)
for(int j=;j<;j++){
ans.m[i][j]=(i==j);
a.m[i][j]=;
}
a.m[][]=;
while(n){
if(n&) ans=Mul(ans,a);
n>>=;
a=Mul(a,a);
}
return ans;
}
ll x,y,X,Y;
bool solve(int n,int m)
{
mat a,b,c;
ll a1,a2,b1,b2;
if(n!=){
a=Pow(n-);
a1=a.m[][]+a.m[][];
a2=a.m[][]+a.m[][];
}
else a1=a2=;
if(m!=){
b=Pow(m-);
b1=b.m[][]+b.m[][];
b2=b.m[][]+b.m[][];
}
else b1=b2=;
ll t1=x*b1-y*a1;
ll t3=a2*y-x*b2;
ll t2=b1*a2-b2*a1;
if(t3%t2!=||t1%t2!=) return ;
X=t1/t2;
Y=t3/t2;
if(X<||Y<) return ;
return ;
}
int main()
{
int t,ca=,n,m,k;
scanf("%d",&t);
while(t--){
scanf("%d%lld%d%lld%d",&n,&x,&m,&y,&k);
printf("Case %d: ",++ca);
if(!solve(n,m)) printf("Impossible\n");
else{
if(k==){
printf("%lld\n",(X+Y)%mod);
continue;
}
mat a=Pow(k-);
ll ans=(a.m[][]+a.m[][])*Y+(a.m[][]+a.m[][])*X;
printf("%lld\n",ans%mod);
}
}
return ;
}

lightoj 1052 - String Growth & uva 12045 - Fun with Strings 矩阵的更多相关文章

  1. 1052 - String Growth

    1052 - String Growth    PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 MB Z ...

  2. 贪心水题。UVA 11636 Hello World,LA 3602 DNA Consensus String,UVA 10970 Big Chocolate,UVA 10340 All in All,UVA 11039 Building Designing

    UVA 11636 Hello World 二的幂答案就是二进制长度减1,不是二的幂答案就是是二进制长度. #include<cstdio> int main() { ; ){ ; ) r ...

  3. UVA 1386 - Cellular Automaton(循环矩阵)

    UVA 1386 - Cellular Automaton option=com_onlinejudge&Itemid=8&page=show_problem&category ...

  4. UVA 10679 I love Strings!!!(AC自己主动机)

    http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...

  5. UVa 11464 Even Parity 偶数矩阵

    给你一个 n * n 的 01 矩阵,现在你的任务是将这个矩阵中尽量少的 0 转化为 1 ,使得每个数的上下左右四个相邻的数加起来是偶数.求最少的转化个数. 首先,n 的规模并不大,最大只有15.但是 ...

  6. UVA 11149 - Power of Matrix(矩阵乘法)

    UVA 11149 - Power of Matrix 题目链接 题意:给定一个n*n的矩阵A和k,求∑kiAi 思路:利用倍增去搞.∑kiAi=(1+Ak/2)∑k/2iAi,不断二分就可以 代码: ...

  7. UVa 1626 括号序列(矩阵连乘)

    https://vjudge.net/problem/UVA-1626 题意: 输入一个由 "(" . ")" . "[" . " ...

  8. UVa 11149 Power of Matrix (矩阵快速幂,倍增法或构造矩阵)

    题意:求A + A^2 + A^3 + ... + A^m. 析:主要是两种方式,第一种是倍增法,把A + A^2 + A^3 + ... + A^m,拆成两部分,一部分是(E + A^(m/2))( ...

  9. uva 11885 - Number of Battlefields(矩阵高速幂)

    题目连接:uva 11885 - Number of Battlefields 题目大意:给出周长p,问多少种形状的周长为p的,而且该图形的最小包围矩阵的周长也是p,不包含矩形. 解题思路:矩阵高速幂 ...

随机推荐

  1. spring boot 注解说明

    Starters 可以创建自己的Starter,但名字格式不能是 spring-boot-starter-*,而是 *-spring-boot-starter.类似Maven插件的规则.   自动配置 ...

  2. Python3 shelve模块(持久化)

    shelve模块 也可以序列化Python所有数据类型,而且可以多次序列化;shelve模块通过key-value方式持久化 1.序列化 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 ...

  3. 命令行创建KVM虚拟机

    qemu命令创建虚拟机: qemu-img create -f qcow2 /home/ubuntu.img 20G   qemu-system-x86_64 -m 2048 -enable-kvm ...

  4. python基础===Excel处理库openpyxl

    openpyxl是一个第三方库,可以处理xlsx格式的Excel文件. 安装: pip install openpyxl 对如下excel进行读取操作,如图: from openpyxl import ...

  5. Centos_Lvm expand capacity without restarting CentOS

    Rescan the new disk(/dev/sdb): #ls /sys/class/scsi_host/ host0 host1 host2 [root@db210_13:56:14 /dat ...

  6. caffe Python API 之LRN

    net.mylrn = caffe.layers.LRN(net.pool1,local_size=5,alpha=1e-4,beta=0.75) 输出: layer { name: "my ...

  7. Makefile系列之五 :函数

    一.函数的调用语法 函数调用与变量一样,也是以“$”来标识的,其语法如下: $(<function> <arguments>) 或是 ${<function> &l ...

  8. LeetCode239. Sliding Window Maximum

    Given an array nums, there is a sliding window of size k which is moving from the very left of the a ...

  9. BestCoder Round #85 前三题题解

    sum Accepts: 822 Submissions: 1744 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/13107 ...

  10. 【转载】Web Service 的工作原理

    http://www.cnblogs.com/Jessy/p/3528341.html Web Service基本概念 Web Service也叫XML Web Service WebService是 ...