FZU 1911 矩陣快速冪

2021-08-03 22:13:43 字數 1211 閱讀 9313

題意:

f(n)為斐波那契數列,s(n)為其字首和,給你n,m,求s(n)%m的值作為矩陣邊長,構造矩陣行和列的值都不相等

思路:

= =、強行把兩道題湊成一道題;

求斐波那契字首和–矩陣快速冪;(具體構造矩陣看**)

構造方法:

四個角放好,然後水平,豎直放...

具體看**(懶得寫…)

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

typedef

long

long ll;

const

double pi = acos(-1.0);

const

double eps = 1e-6;

const

int inf=0x3f3f3f3f;

//const int mod = 1e9;

const

int n = 210;

struct mat;

int n,mod;

mat mul(mat a,mat b)

mat quick_mi(mat a,int nn)

return b;

}int ma[n][n];

void solve(int m)

int l = 1;

int r = m;

ma[l][l] = -1; ma[l][r] = 1; ma[r][l] = 0; ma[r][r] = 1;

l++;

r--;

while(l < r)

ma[l][l] = -1; ma[l][r] = 1; ma[r][l] = 0; ma[r][r] = 1;

l++;

r--;

}puts("yes");

for(int i = 1; i <= m; i++)

puts("");

}}int main()

printf("case %d: ",cas);

solve(res);

}return

0;}

FZU 1911 矩陣快速冪

題意 給乙個n,讓你輸出乙個s n s n 的矩陣 s n 是前n項斐波那契的和 m 這個矩陣必須滿足每一行和每一列中任意兩個的和不能相等 思路 奇數肯定是無解的,因為奇數總有一行是相同的 偶數的情況,自己打個6 6和4 4的表就看出來規律了 就是把整個矩形分成三部分,左上部分和右下部分和從右上角到...

快速冪(矩陣快速冪)

求 3 0 3 1 3 n mod 1000000007 input 輸入乙個數n 0 n 10 9 output 輸出 計算結果 sample input 3sample output 40 分析 利用等比數列的求和公式得所求和是 3 n 1 1 2,如果暴力求3 n 1 會超時,這裡引入快速冪來...

快速冪 矩陣快速冪

快速冪 正常情況下求乙個數的冪時間複雜度為o n 而快速冪能把時間複雜度降到o logn 舉個例子 求5的13次方 思想首先把13化為二進位制 1101,即13 1101 8 1 4 1 2 0 1 1 即5 13 58 1 54 1 52 0 5 1 15 5 8 1 5 4 1 5 2 0 5 ...