真是道坑题,数据范围如此大。

首先构造矩阵 [ f[0] , 1] * [ a,0 ] ^n= [ f[n],1 ]

[ c,1 ]

注意到m, a, c, x0, n, g<=10^18,所以要有类似于二进制分解的方法进行快速乘,防止爆范围。

Program CODEVS1281;
type arr=array[..,..] of int64;
Program CODEVS1281;
var a,b:arr;
m,k1,k2,x0,n,mo,p:int64;
function quick(x,y:int64):int64;
var ans:int64;
begin
ans:=;
while y> do
begin
if y mod = then ans:=(ans+x) mod m;
y:=y div ;
x:=x* mod m;
end;
exit(ans);
end;
operator *(a,b:arr) c:arr;
var i,j,k:longint;
sum:int64;
begin
fillchar(c,sizeof(c),);
for i:= to do
for j:= to do
begin
sum:=;
for k:= to do
sum:=(sum+quick(a[i,k],b[k,j]))mod m;
c[i,j]:=sum;
end;
exit(c);
end;
begin
readln(m,k1,k2,x0,n,mo);
a[,]:=; a[,]:=; a[,]:=; a[,]:=;
b[,]:=k1; b[,]:=; b[,]:=k2; b[,]:=;
while n> do
begin
if n mod = then a:=a*b;
n:=n div ;
b:=b*b;
end;
writeln((quick(x0,a[,])+a[,]) mod m mod mo); end.

CODEVS1281 Xn数列 (矩阵乘法+快速乘)的更多相关文章

  1. [codevs]1250斐波那契数列<矩阵乘法&快速幂>

    题目描述 Description 定义:f0=f1=1, fn=fn-1+fn-2(n>=2).{fi}称为Fibonacci数列. 输入n,求fn mod q.其中1<=q<=30 ...

  2. 【bzoj3231】[Sdoi2008]递归数列 矩阵乘法+快速幂

    题目描述 一个由自然数组成的数列按下式定义: 对于i <= k:ai = bi 对于i > k: ai = c1ai-1 + c2ai-2 + ... + ckai-k 其中bj和 cj  ...

  3. 斐波那契数列 矩阵乘法优化DP

    斐波那契数列 矩阵乘法优化DP 求\(f(n) \%1000000007​\),\(n\le 10^{18}​\) 矩阵乘法:\(i\times k\)的矩阵\(A\)乘\(k\times j\)的矩 ...

  4. 1250 Fibonacci数列(矩阵乘法)

    1250 Fibonacci数列 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description 定义:f0=f1=1, fn=fn-1+fn ...

  5. Codevs 1574 广义斐波那契数列(矩阵乘法)

    1574 广义斐波那契数列 时间限制: 1 s 空间限制: 256000 KB 题目等级 : 钻石 Diamond 题目描述 Description 广义的斐波那契数列是指形如an=p*an-1+q* ...

  6. Qbxt 模拟赛 Day4 T2 gcd(矩阵乘法快速幂)

    /* 矩阵乘法+快速幂. 一开始迷之题意.. 这个gcd有个规律. a b b c=a*x+b(x为常数). 然后要使b+c最小的话. 那x就等于1咯. 那么问题转化为求 a b b a+b 就是斐波 ...

  7. 矩阵乘法快速幂 codevs 1250 Fibonacci数列

    codevs 1250 Fibonacci数列  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond   题目描述 Description 定义:f0=f1=1 ...

  8. codevs1281 矩阵乘法 快速幂 !!!手写乘法取模!!! 练习struct的构造函数和成员函数

    对于这道题目以及我的快速幂以及我的一节半晚自习我表示无力吐槽,, 首先矩阵乘法和快速幂没必要太多说吧,,嗯没必要,,我相信没必要,,实在做不出来写两个矩阵手推一下也就能理解矩阵的顺序了,要格外注意一些 ...

  9. 洛谷 P4910 帕秋莉的手环 矩阵乘法+快速幂详解

    矩阵快速幂解法: 这是一个类似斐波那契数列的矩乘快速幂,所以推荐大家先做一下下列题目:(会了,差不多就是多倍经验题了) 注:如果你不会矩阵乘法,可以了解一下P3390的题解 P1939 [模板]矩阵加 ...

随机推荐

  1. perl数组的长度与元素个数

    perl数组的长度与元素个数 $#数组名 ---表示数组中最后一个元素的下标,它等于元素个数减1. @数组名 ---表示数组中元素的个数. $标量=@数组名 ---将一个数组赋值给一个标量变量,标量得 ...

  2. Sort List 典型链表

    https://leetcode.com/problems/sort-list/ Sort a linked list in O(n log n) time using constant space ...

  3. codevs1690 开关灯(线段树)

    1690 开关灯 USACO  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond     题目描述 Description YYX家门前的街上有N(2< ...

  4. [Swift通天遁地]三、手势与图表-(4)3DTouch功能在项目中的应用

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  5. HTML--文本域,支持多行文本输入

    当用户需要在表单中输入大段文字时,需要用到文本输入域. 语法: <textarea rows="行数" cols="列数">文本</texta ...

  6. azkaban-executor启动时出现conf/global.properties (No such file or directory)的问题解决(图文详解)

     问题详情 // :: INFO [FlowRunnerManager] [Azkaban] Cleaning recently finished // :: INFO [FlowRunnerMana ...

  7. 字符串String的理解

    1.String是一个final的类型 即不可被继承修改,一经生成不可改变.所以在代码中使用String s  = s1 + s2;的时候,执行完之后s所指向的是一个新生成的对象,这里有个地方值得注意 ...

  8. js基础---元素操作时字符串拼接

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. sql server 大数据跨服务器迁移表数据——使用链接服务器

    1.创建链接服务器(填写链接服务器.远程登录.使用密码) 2.188.188.1.177是远程的 select count(*) from [188.188.1.177].BigDataAnalysi ...

  10. [Windows Server 2003] 网页Gzip压缩

    ★ 欢迎来到[护卫神·V课堂],网站地址:http://v.huweishen.com★ 护卫神·V课堂 是护卫神旗下专业提供服务器教学视频的网站,每周更新视频.★ 本节我们将带领大家:启用网站GZI ...